我有一个想要分发的 Go 库。它有 62 个源文件,但我想将 API 保存在一个包中。有没有办法可以在单个包中使用多个目录来存储代码?这不是大量的源代码,因为源文件本身很小,如果可能的话,我想保持这种状态以使其可导航。
由于它模仿了其他语言的类似库,因此它目前有两个包:/project 和 /project/models。在了解了有关 Go 打包的更多信息后,我现在意识到这对于分发和使用来说很笨拙。用户更喜欢单个包。
有没有一种“gopheric”的方式来做到这一点?
阅读这两篇文章可以很好地理解最佳实践:
每个路径目录都可以是您应用中的一个单独的模块/包:
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
Run Code Online (Sandbox Code Playgroud)