Go 报错:类库引入未使用 —— imported and not used: xxx
你可能已经注意到,包导入了但未使用的程序无法通过编译。
package main
import (
"fmt"
"log" // "imported and not used: log"
)
func main() {
fmt.Println("Hello")
}
../main.go:5:2: imported and not used: "log"
这是 Go 语言的特意设计的功能。
如果存在未使用的变量, 则表示可能有错误 […] Go 拒绝使用未使用的变量或导入来编译程序,为了短期的构建速度和程序的清晰性而使用短期便利性。Go FAQ: 我可以停止这些关于未使用的变量或导入的抱怨嘛?
解决方案
没有编译器选项允许未使用的包导入. 如果您不想删除/注释导入, 则可以在虚拟分配中使用它:
package main
import (
"fmt"
"log"
)
var _ = log.Printf
func main() {
fmt.Println("Hello")
}
更好的解决方案
使用 goimports 工具, 该工具会重写 Go 源文件使具有正确的导入. 每当编写源文件时, 许多 Go 编译器和 IDE 都会自动运行此工具.
本文中的所有译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接
我们的翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。
推荐文章: