目录
- 报错
- 原因
- 解决方法
- 参考
报错
代码很简单,如下所示。可以发现a和b都飙红了:
运行后就会出现报错:
报错翻译过来就是a已经声明但未使用。当时我很疑惑,在其他语言中从来没有这种情况。况且这里的b不是赋值了吗,怎么也是显示未使用?
原因
然后我去查了些资料发现,为了保证代码的可读性、简洁性和健壮性,Go对于已声明但未使用的变量会在编译阶段报错。
给这个变量赋值并不能算是使用了这个变量,所以上面的b变量也会报错。
解决方法
一个解决方法是使用_
这个特殊的变量,这个变量常做占位符。被赋值后立马就会丢弃掉。
将变量赋给_
这个特殊的变量也算使用过变量了。
示例:
可以看到a和b不飙红了。也能成功运行:
参考
https://cloud.tencent.com/developer/article/1849998