go和gwan的未使用变量

时间:2013-01-18 10:37:58

标签: compiler-errors terminal go g-wan

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

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

有办法避免这种行为吗?

2 个答案:

答案 0 :(得分:8)

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

编辑:常见问题解答中的C / P:Can I stop these complaints about my unused variable/import?

  

未使用的变量的存在可能表示错误,而未使用的导入只会减慢编译速度。在代码树中累积足够多的未使用的导入,事情会变得非常缓慢。由于这些原因,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.
        ....
}

答案 1 :(得分:-1)

这是一个重复的Go语言问题,请参阅:

Go: “variable declared and not used” compilation error

Go编译器将"unused variable"视为致命错误。这是所有其他语言都视为警告的内容,因此G-WAN停止让您修复脚本错误。

G-WAN无法帮助您:您必须按预期使用Go。