我正在学习 Go,但我觉得编译时有点烦人,我不应该留下任何未使用的变量或包。
这真的让我慢了下来。例如,我只想声明一个新包并计划稍后使用它,或者只是取消注释某些命令以进行测试。我总是收到错误,需要评论所有这些用途。
有什么办法可以避免这种在 Go 中的检查吗?
该错误会迫使您编写更好的代码,并确保使用您声明或导入的所有内容。它使阅读其他人编写的代码变得更容易(您始终确信所有声明的变量都会被使用),并避免一些可能的死代码。
但是,如果你真的想跳过这个错误,你可以使用空白标识符( _) :
_
package main import ( "fmt" // imported and not used: "fmt" ) func main() { i := 1 // i declared and not used }
变成
package main import ( _ "fmt" // no more error ) func main() { i := 1 // no more error _ = i }
正如 kostix 在下面的评论中所说,您可以在FAQ中找到 Go 团队的官方立场:
未使用变量的存在可能表明存在错误,而未使用的导入只会减慢编译速度。在你的代码树中积累足够多的未使用的导入,事情会变得非常缓慢。由于这些原因,Go 两者都不允许。