🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
## 25个关键字 ![](https://gitee.com/echohiyang/markdown-images/raw/master/OrKn0E.jpg) ## 36个标识符 ![](https://gitee.com/echohiyang/markdown-images/raw/master/7OkueN.jpg) ## package package 是最基本的分发单位和工程管理中依赖关系的体现 每个go语言代码文件卡头都有一个package声明,表示源码文件所属的代码包 要生成go语言可执行程序,必须要有main的package包,且在该包下必须有main()函数 同一路径下只能存在一个package,一个package可以拆成多个源码文件 ## import 代码包的导入 import 的基本原理 * 如果一个main导入其他包,包将被顺序导入 * 如果导入的包中以来其他包(包B),会首先导入B包,然后初始化B包中的常量与变量,最后如果B中有init,会自动执行initial(); * 所有包到入完成之后才会对main中常量和变量进行初始化,然后执行main中的init函数(如果存在),最后执行main函数; * 如果一个包被导入多次则该包只会被导入一次; ### 别名 ~~~ import str "strings" # 创建strings的别名 ~~~ ### 本地化导入 ~~~ import . "strings" # 不用使用前缀,直接使用代码包中的函数 ~~~ ### 仅执行初始化 init ~~~ import - "strings" ~~~ 代码包的初始化函数,即无参数声明和结果声明的init函数。 #### init函数的执行时机 在程序入口main函数之前执行 ### 退出返回值 go main 函数不支持返回值,返回值通过 os.Exit() 实现 ![](https://gitee.com/echohiyang/markdown-images/raw/master/75dJtU.jpg) ![](https://gitee.com/echohiyang/markdown-images/raw/master/2HQZed.jpg)