编写 Go 库(Packages)的黄金法则
关于程序包
-
只是一个物理目录.
-
让你组织你的代码.
-
通过允许你使用其他程序包来实现可重用性.
-
帮助实现代码封装.
-
代表单个概念.
-
小了不少.
-
打包规则
源文件
- 用 Go 编写的所有代码都属于一个包
包目录
- 目录名称和包名应该一样.
- 同一个目录下的所有源文件都仅属于同一包.
- 你不能将一个包拆分到多个目录中去.
- 程序包位于名为
$GOPATH/src
工作目录中.
标识
- 如果一个程序包位于单独的目录中, 则可以与另一个程序包有相同的包名称.
包类型
- 主程序包是可执行程序的入口点程序包.
- 库程序包仅是可重复使用的包, 不含主包和入口点 (大多数情况下是).
函数和变量
- 在 Go 包中, 没有诸如局部变量或函数仅属于一个源代码文件之类的东西.
导入
- 可以通过 import 关键字导入程序包. 标准库程序包只能通过其名称 (而不是完整路径) 导入. 导入其他软件包时, 最好提供完整路径.
- 对于简单程序, 你可以只有
package main
主程序包. 对于较大的程序, 你 应该 定义自己的程序包. - 包仅导入一次. 你可以在多个软件包中导入同一个软件包, 并且只能导入一次.
子包
- 不支持.
- 你可以将软件包放入其他软件包的目录中来弱化组织的子包概念.
好了, 到这差不多了. 谢谢你能看到这里.
本文中的所有译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接
我们的翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。
推荐文章: