我从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“所以我有疑问。谢谢
答案 0 :(得分:2)
一切都取决于。一切都没有一条正确的方法。
好像这个回购决定供应商所有东西,整个GOPATH。这没关系,但今天使用“现代”vendor
文件夹可能会有所不同。
永远不要go run
。这只适用于玩具程序。使用go build
和go install
构建您的软件。这些命令适用于包路径。
其他一切:请参阅官方文档https://golang.org/doc/code.html并坚持下去(这意味着你应该稍微移动一些东西)。