Dai*_*air 13
Go正试图阻止这种情况:
男孩正在抽烟,并将烟圈留在空中.女孩对烟雾感到恼火,并对她的情人说:"难道你看不到香烟上写的警告,吸烟对健康有害!"
男孩回答说:"亲爱的,我是程序员.我们不担心警告,我们只担心错误."
基本上,Go只是不会让你逃避未使用的变量和未使用的导入和其他通常是其他语言警告的东西.它有助于养成良好的习惯.
pet*_*rSO 13
Go编程语言常见问题解答
存在未使用的变量可能表示存在错误,而未使用的导入只会减慢编译速度.在代码树中累积足够多的未使用的导入,事情会变得非常缓慢.由于这些原因,Go不允许.
在开发代码时,临时创建这些情况很常见,在程序编译之前必须编辑它们会很烦人.
有些人要求使用编译器选项来关闭这些检查,或者至少将它们减少为警告.但是,没有添加这样的选项,因为编译器选项不应该影响语言的语义,因为Go编译器不报告警告,只报告阻止编译的错误.
没有警告有两个原因.首先,如果它值得抱怨,那么值得在代码中修复.(如果不值得修复,则不值得一提.)其次,让编译器生成警告会鼓励实现警告可能使编译噪声的弱情况,掩盖应该修复的实际错误.
不过,很容易解决这个问题.使用空白标识符可以在开发过程中保留未使用的内容.
Run Code Online (Sandbox Code Playgroud)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. .... }