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