我刚刚开始学习 Go,并阅读现有代码以了解“其他人是如何做的”。在这样做时,go“工作区”的使用,尤其是当它与项目的依赖项相关时,似乎无处不在。在处理各种 Go 项目时,围绕使用单个或多个 Go 工作区(即 $GOPATH 的定义)有什么(或有)常见的最佳实践?我应该期望有一个单一的 Go 工作区,它有点像我所有项目的中央代码存储库,还是在我开始处理这些项目中的每一个时明确地分解它并设置 $GOPATH(有点像 python虚拟环境)?
3 回答
qq_花开花谢_0
TA贡献1835条经验 获得超7个赞
在您的所有项目中使用一个 GOPATH 非常方便,但我发现这仅适用于我自己的个人项目。
我为我维护的每个生产系统使用单独的 GOPATH,因为我在每个 GOPATH 的目录树中使用 git 子模块来冻结依赖项。
所以,像这样:
~/code/my-project
- src
- github.com
+ dependency-one
+ dependency-two
- my-org
- my-project
* main.go
+ package-one
+ package-two
- pkg
- bin
通过将 GOPATH 设置为 ~/code/my-project,然后它在该项目中使用依赖项一和依赖项二的 git 子模块,而不是使用全局依赖项。
- 3 回答
- 0 关注
- 211 浏览
添加回答
举报
0/150
提交
取消