Go 报错:类库引入未使用 —— imported and not used: xxx

Go

你可能已经注意到,包导入了但未使用的程序无法通过编译。

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 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。

原文地址:https://yourbasic.org/golang/unused-impo...

译文地址:https://learnku.com/go/t/46469

本文为协同翻译文章,如您发现瑕疵请点击「改进」按钮提交优化建议
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!