Sri*_*har 4 compiler-errors go
如果编译器可以识别导入未使用,那么是否可以将其设置为在没有导入的情况下继续编译?
即使不可能,这种选择的优点/缺点是什么?
icz*_*cza 11
不可以.有关推理,请参阅以下常见问题
存在未使用的变量可能表示存在错误,而未使用的导入只会减慢编译速度,随着程序随着时间的推移累积代码和程序员,这种效果会变得很大.出于这些原因,Go拒绝使用未使用的变量或导入编译程序,为长期构建速度和程序清晰度交换短期方便性.
仍然,在开发代码时,临时创建这些情况很常见,在程序编译之前必须编辑它们会很烦人.
有些人要求使用编译器选项来关闭这些检查,或者至少将它们减少为警告.这样的选择还没有被添加,但是,因为编译器选项不会影响语言的语义,因为围棋编译器不报告警告,只是防止编译错误.
没有警告有两个原因.首先,如果它值得抱怨,那么值得在代码中修复.(如果不值得修复,则不值得一提.)其次,让编译器生成警告会鼓励实现警告可能使编译噪声的弱情况,掩盖应该修复的实际错误.
不过,很容易解决这个问题.使用空白标识符可以在开发过程中保留未使用的内容.
您可能要做的是在暂时想要排除某些内容时使用空白标识符,例如
import (
"fmt"
_ "time" // This will make the compiler stop complaining
)
Run Code Online (Sandbox Code Playgroud)
如今,大多数Go程序员使用goimports工具,它自动重写Go源文件以获得正确的导入,从而在实践中消除了未使用的导入问题.当编写Go源文件时,该程序可以轻松连接到大多数编辑器以自动运行.
| 归档时间: |
|
| 查看次数: |
1620 次 |
| 最近记录: |