在LHS中的下划线声明中的下划线

时间:2018-05-18 15:37:07

标签: go

此代码段的作用是什么?

var i int
_ = i

我理解使用“_”作为空白标识符,但上面的第二行是什么?

以下是来自etcd GitHub存储库的示例:etcd

3 个答案:

答案 0 :(得分:5)

代码为machine generated。生成器添加了语句_ = i,以避免在没有编组的情况下使用未使用的变量声明。

代码生成器的作者可能发现添加空白赋值语句比在不需要时省略变量更容易。

答案 1 :(得分:3)

我猜你可能会这样做以停止抱怨未使用的变量

最好不要声明变量

答案 2 :(得分:0)

注意,有时在导入中使用下划线,以便执行包的init()代码,但是不需要调用该包中的函数。

这通常是一种应用于图像处理以注册图像处理程序的技术。

请参阅 A use case for importing with blank identifier in golang