go - 如何以正确的方式组织你的 Go 项目?

标签 go go-get

我在设置我的第一个 Go 项目时遇到了问题。我想让我的包远离我的 git 存储库。

go get 默认将我的包安装在我的 /src 文件夹中。这样我就不能简单地忽略一个文件夹来忽略所有包。

我可以将我的所有包安装在例如 /pkg 中吗?我该怎么做?有解决此问题的 Go 方法吗?

在用 Go 编写的大型开源项目中,例如 Kubernetes,我找不到 /src 目录。

最佳答案

这听起来像是您工作区中的一个问题。

您的工作区目录应如下所示,但您的工作区不应是存储库的根目录。

/bin //<--compiled binaries
/src
   /adomain.com/yourstuff //<--these folders are where your repo root should be
   /gihub.com/otherstuff //<--these folders are your dependencies
/pkg //<-- installed packages / program files

在此处阅读官方 Go 文档:

https://golang.org/doc/code.html

组织项目的广泛使用标准如下:

https://github.com/golang-standards/project-layout

另请参阅:https://golang.org/doc/effective_go.html

关于go - 如何以正确的方式组织你的 Go 项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57978688/

相关文章:

go - 在 Go 中生成 MAC 地址

mysql - 如何使用golang从mysql中获取多个列

go - 将 google Inject 与提供者函数的多重返回连线

go - 有没有办法使用消息来模拟共享状态?

go - go get命令做缓存吗?

variables - 如何获取有关 Go 变量类型的信息

git - 使用代理获取私有(private)仓库

从本地 fork 获取安装

去获取私有(private) bitbucket repo,禁止 403

go - go get return go:标志需要一个参数:-mod