一、代码包的作用
编译和归档Go程序的最基本单位。
代码划分、集结和依赖的有效组织形式,也是权限控制的辅助手段。
二、代码包规则
一个代码包实际上就是一个由导入路径代表的目录
导入路径即<工作区目录>/src或<工作区目录>/pkg/<平台相关目录>之下的某段子路径。
三 代码包声明
每个源码文件必须声明其所属的代码包。
同一个代码包中所有源码文件声明的代码包应该是相同的。
四 代码包声明与代码包导入路径的区别
代码包声明语句中的包名称应该是该代码包的导入路径的最右子路径。
例如:
五 代码包的导入
代码包导入语句中使用的包名称应该与其导入路径一致。
例如:
六 代码包的导入方法
1、带别名导入
2、本地化导入
3、仅仅初始化
七 代码包初始化
代码包初始化函数即:无参数声明和结果声明的init函数。
init函数可以声明在任何文件中,且可以有多个。
八 init函数的执行时机——单一代码包内
代码包中各init函数执行顺序是不确定的,我们不应该对此做任何假设。
九 init函数的执行时机——不同代码包之间
注意:我们不应该对同一个代码包中被导入的多个代码包的init函数执行顺序做出假设。
十 init函数的执行时机——所有涉及到的代码包
1、先执行init函数,再执行main函数。
2、每个init函数只会执行一次。
请发表评论