自动导入 3rd 方包

Automatically import 3rd party go packages

我想知道是否有办法自动下载所有导入。 因此,假设我需要在我的代码库中使用 github.com/gorilla/mux 和其他几个包。我应该手动转到我的 ~/go/src 和 运行 go get repo 还是有更智能的依赖管理方法。我正在使用 Goland IDE 进行开发。

if there is a way to automatically download all the imports

您可以从命令行通过 运行 go get 下载所有导入的 pkg 及其依赖项。

I am using Goland IDE for my development

我也在用Goland。当找不到导入时(即导入路径以红色突出显示),您可以将键入插入符放在它上面,然后在弹出窗口中按 alt + enter 和 select go get ... [=20] =] 自动导入。

您可以使用 dep 包管理器,它将检查您的代码并自动导入您在代码中使用的所有包。如果您使用的是 >go1.11,我建议使用新添加的 go mod.

有几种方法:

  • 只需go get github.com/gorilla/mux,它将在您的$GOPATH中下载源代码,并在编译时自动解析
  • 使用依赖管理(godep、glide[弃用])
  • 使用模块(Go 1.11 中的实验性功能 - 模块。Check more here

如果你想要一个好的和稳定的解决方案,使用dep(。首先你必须安装它,然后运行:

cd $GOPATH/src/path/to/project
dep init
dep ensure -add github.com/gorilla/mux

您将在您的项目中看到一个新文件夹 vendor 和 2 个新的依赖配置文件 Gopkg.lockGopkg.toml。 阅读更多关于 godep here.

然后 运行 你的主文件像往常一样。