【发布时间】:2022-06-24 22:17:55
【问题描述】:
一些 Go 文本编辑器和 IDE(在我的特殊情况下是 JetBrains 的 GoLand IDE)会在保存时自动删除未使用的导入。这通常是一件好事,因为 Go 编译器会为未使用的导入抛出错误。
但是,在 github.com/fxamacker/cbor/v2 导入的情况下,我相信 GoLand 会被最后的 v2 弄糊涂,并认为从未使用过导入,因为文件中的任何地方都没有任何 v2.<something>。所以 GoLand 在我保存时删除了这个导入,但是我的文件无法编译,因为我需要的导入已经消失了。
我想我可以用一个前导下划线来解决这个问题,像这样:
import (
// ... other imports here ...
_ "github.com/fxamacker/cbor/v2"
)
当我进行此更改时,GoLand 不会删除我的导入,但是当我编译时出现错误:
redacted.go:15:10:未定义:cbor redacted.go:19:13:未定义:cbor redacted.go:20:17:未定义:cbor redacted.go:109:8: 未定义: cbor如何导入此模块,以使导入不会被 GoLand 自动删除,并且文件仍然可以编译?
【问题讨论】:
标签: go go-modules goland