包
是多个go源码的集合,是一种高级的代码复用方案,有很多内置包:fmt、os、io等
01 定义包
语法
package 包名
注意:
1 每个应用程序都必须有一个入口包,包名为:mian
。这种包可以编译成一个可执行文件。
2 一个文件夹下边,直接包含的文件(第一级),只能属于一个包package 包名
3 包名可以不和文件夹名一样
02 包导入
- 导入
语法
// 单行导入
import "包路径"
// 多个导入
import (
"包路径1"
"包路径2"
)
注意:
1 导入包语句放在package包名
下边,且包路径需要用双引号""
包裹起来
2 不能循环导入
3 包路径:$GOPATH/src/
后开始计算的
- 包别名
一般用在包名过长,或者包名冲突时
语法
import 别名 "包路径"
import (
别名 “包路径”
“包路径”
)
- 匿名导入包
只导入包,不用包里的数据。
会被编译
import _ "包路径"
03 init()初始化函数
在执行时,导入包语句会自动执行init()
函数,且没有参数和返回值
只能自动被调用,不能在代码中主动调用
包中的init()
函数在main()
函数之前被调用
最后被调用的包,会最先被初始化运行