小编典典

如何避免恼人的错误“已声明且未使用”

all

我正在学习 Go,但我觉得编译时有点烦人,我不应该留下任何未使用的变量或包。

这真的让我慢了下来。例如,我只想声明一个新包并计划稍后使用它,或者只是取消注释某些命令以进行测试。我总是收到错误,需要评论所有这些用途。

有什么办法可以避免这种在 Go 中的检查吗?


阅读 68

收藏
2022-04-01

共1个答案

小编典典

该错误会迫使您编写更好的代码,并确保使用您声明或导入的所有内容。它使阅读其他人编写的代码变得更容易(您始终确信所有声明的变量都会被使用),并避免一些可能的死代码。

但是,如果你真的想跳过这个错误,你可以使用空白标识符(
_) :

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
两者都不允许。

2022-04-01