我正在开始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”,因此我对此表示怀疑。谢谢

最佳答案

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

好像这个仓库决定提供所有东西,整个GOPATH。没关系,但是今天有了“现代” vendor文件夹,可能会有所不同。

永远不要go run。那仅用于玩具程序。使用go buildgo install构建软件。这些命令在程序包路径上工作。

对于其他所有内容:请参阅官方文档https://golang.org/doc/code.html并坚持使用(这意味着您应该稍微移动一下内容)。

关于go - 正确的Golang储存库结构,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44737505/

10-16 22:36