我有一个Go图书馆,我想分发。它有62个源文件,但我想将API保存在一个包中。 有没有办法可以在一个软件包中使用多个目录来代码?它的来源不是很多,因为源文件本身很小,而且我喜欢尽可能保持这种可导航性。
由于它是用其他语言的类似库建模的,因此它目前有两个包:/ project和/ project / models。在了解了Go包装的更多信息之后,我现在意识到这对于分发和使用来说是笨重的。用户更喜欢单个包。
是否有" gopheric"这样做的方式?
答案 0 :(得分:4)
阅读这两篇文章,以便更好地理解最佳实践:
每个路径目录可以是您应用中的单独模块/包:
github.com/myaccount/myapp/
README.md
Makefile
applib/
cmd/
main.go
main_test.go
handlers.go
handlers_test.go
lib1/
main.go
main_test.go
process.go
process_test.go
lib2/
foo.go
foo_test.go
bar.go
bar_test.go
答案 1 :(得分:2)
不,它很简单:一个目录==一个包。但是有一些"主要"打包"帮助"子目录中的包不是真正的"笨重的分发"因为go get
处理得非常好。