go和gwan的未使用变量

sol*_*oft 0 terminal compiler-errors go g-wan

Go编译器抱怨未使用的变量和导入.因此,如果检测到任何未使用的var /脚本,则无法在gwan中运行脚本.

如果运行,gwan在这种情况下会提供404错误...或者根本无法启动

有办法避免这种行为吗?

zzz*_*zzz 8

没有非常简单的方法存在.没有像编译器标志那样关闭此行为.我想最好传递一下编译器可以吞下的代码.

编辑:常见问题解答中的C/P:我可以停止这些关于我未使用的变量/导入的投诉吗?

存在未使用的变量可能表示存在错误,而未使用的导入只会减慢编译速度.在代码树中累积足够多的未使用的导入,事情会变得非常缓慢.由于这些原因,Go不允许.

在开发代码时,临时创建这些情况很常见,在程序编译之前必须编辑它们会很烦人.

有些人要求使用编译器选项来关闭这些检查,或者至少将它们减少为警告.但是,没有添加这样的选项,因为编译器选项不应该影响语言的语义,因为Go编译器不报告警告,只报告阻止编译的错误.

没有警告有两个原因.首先,如果它值得抱怨,那么值得在代码中修复.(如果不值得修复,则不值得一提.)其次,让编译器生成警告会鼓励实现警告可能使编译噪声的弱情况,掩盖应该修复的实际错误.

不过,很容易解决这个问题.使用空白标识符可以在开发过程中保留未使用的内容.

import "unused"

// This declaration marks the import as used by referencing an
// item from the package.
var _ = unused.Item  // TODO: Delete before committing!

func main() {
        debugData := debug.Profile()
        _ = debugData // Used only during debugging.
        ....
}
Run Code Online (Sandbox Code Playgroud)