Go的编译器对声明却未使用的变量在报错

Go的编译器是否有选项,关闭这个功能。 这样在最后统一去掉没有未使用的变量。

共 5 个回复


jimmykuu

没有,不用的可以先注释掉或者fmt.Println出来。

# 0

hooluupog

a, _ := value1,value2 不想使用的可以用"_"接收

# 1

jimmykuu

他这个应该知道,主要是有时候调试的要注释掉一些代码,就导致一些变量变成未使用。如下面代码,调试的时候注释掉第二行,导致第一行报错。

a := 1
c := add(a, 2)
# 2

hooluupog

哦,是为了调试方便呀。可以在变量声明处或导入但未使用的包底下再写一行:
import "unused"
//var _ := unused.Item
...
a, b := value1,value2, ...
//_ , _ , ... := a, b, ...
调试的时候把那几行注释去掉就行了。 等最终发布时,检查代码中所有的"_"进行清理。

# 3

hooluupog

打错了,'_'后面应该是"=",而不是":="

# 4