我搜索了一个在项目中组织Go文件的解决方案,并找到了this post。我想知道cmd
文件夹的作用是什么,该帖子的第二部分使用了该文件夹。这对Go编译器来说是一个神奇的词吗?
另一方面,我正在阅读Go documentation,而且那里没有cmd
文件夹。
那么这个文件夹怎么样?在Go中构建项目文件的最佳实践是什么,它支持源文件,项目二进制文件,第三方软件包和单元测试。
答案 0 :(得分:3)
post已经说清楚了,总结一下:
- 在Go中,它不是魔术,也不是标准。这只是一个惯例。
- 将它们放入子文件夹中时,可以有多个二进制文件,这在根文件夹中是不可能的。
- 通过让您将二进制文件作为客户端而不是应用程序的主机或门户,它可以驱动您进行所谓的“库驱动开发”。构建程序的方式。这种分离可以帮助您实现更清晰的抽象。并且更常见的是代码逻辑。
醇>
我不确定最佳做法。官方文档有很多关于项目文件结构的提示。 在我的个人练习中,除了二进制文件的 cmd
文件夹外,我发了
1.将源文件分组到 src
文件夹中的包(子文件夹)中
2.将第三方软件包复制到供应商文件夹;
3.将单元测试文件与其目标源文件并排放置。
德尔>
这些链接可能会有所帮助:
Organizing Go code
The Go Blog: Organizing Go code
The Go Blog: Package names
golang-standards/project-layout