正确的Golang存储库结构

时间:2017-06-24 14:34:17

标签: go repository

我从Golang开发开始。现在我的老板给了我一个其他开发人员制作的项目的存储库,现在他已经离开了公司,我无法向他询问与之相关的一些事情。现在我对他推到回购的项目结构感到困惑,结构是下一个:

 |-MyApp
 |--bin
 |--pkg
 |--src
 |----api (the code of the app)
 |----github.com
 |----golang.org
 |----gopkg.in

对我而言,作为Go的结构,1 .-在回购中不应该只是 api 文件夹吗? 如果我转到api文件夹并生成go run main.go,我会收到一条消息,即即使它们在文件夹中也找不到某些包,2。 - 如何在go run命令中指定包?

3.-为golang项目设置这种结构是一种好习惯吗?我在代码中看到他只使用“package1”导出包,如果我在golang工作区中复制并粘贴应用程序的代码,那么我必须指定要导出包的文件夹的名称,例如:“myApp / package1“所以我有疑问。谢谢

1 个答案:

答案 0 :(得分:2)

一切都取决于。一切都没有一条正确的方法。

好像这个回购决定供应商所有东西,整个GOPATH。这没关系,但今天使用“现代”vendor文件夹可能会有所不同。

永远不要go run。这只适用于玩具程序。使用go buildgo install构建您的软件。这些命令适用于包路径。

其他一切:请参阅官方文档https://golang.org/doc/code.html并坚持下去(这意味着你应该稍微移动一些东西)。