我的组织使用Rails开发其应用程序,但是我试图用Golang重新编写我们的后端流程之一,因为它更快。
我已经用公司为我的应用程序构建了一个应用程序的命名空间(example.co
),并为应用程序中的每个软件包创建了一个子文件夹。
我包含的每个库(例如sqlx
等)也都有自己的文件夹。
src/
github.com/
jmoiron/
(sqlx package files)
example.co
my_app/
(my app package files)
model/
(model package files...)
However looking at other packages like sqlx,看来他们完全废弃了此目录结构,并将所有文件放在根目录中
这是因为我正在编写应用程序,而sqlx是要包含在其他应用程序中的软件包吗?还是只是偏好上的差异,因为没有真正接受的“标准”
最佳答案
我在第一个项目中也这样做过。从那以后我学会了:
$GOPATH/bin/ pkg/ src/
布局由go get
和类似的命令/vendor
目录中,如果是您的应用需要工作的代码(谷歌代码,这是imo中最糟糕的部分)因此,我想您的代码可能类似于:
/Users/user2490003/MyGoPath/
▾ src/github.com/user2490003/myproject/
▾ model/
user.go
▾ myapp/
myapp.go
▾ vendor/github.com/jmoiron/sqlx/
sqlx.go
main.go
导入完整的程序包引用,如下所示:
// main.go
package main
import (
github.com/jmoiron/sqlx
github.com/user2490003/myproject/myapp
github.com/user2490003/myproject/model
)