包
包的定义 -->package
关键字,包名通常是和目录名一致,不能包含-
- 一个文件夹就是一个包
- 文件夹里面放的都是
.go
文件
包的导入 --> import
-
包导入路径是从
$GOPATH/src
后面的路径开始写起- 单行导入
- 多行导入
- 给导入的包起别名
- 匿名导入 -->
sql
包导入时会讲这个 - Go不支持循环导入
包中标识符
(变量名\函数名\结构体名\接口名\常量...)可见性 --> 标识符首字母大写表示对外可见
init()
- 包导入的时候会自动执行
- 一个包里面只有一个init()
- init()没有参数也没有返回值也不能调用它
- 多个包的
init
执行顺序 - 一般用于做一些初始化操作...
包嵌套详解
包嵌套,执行顺序如下图
init函数
package main
//随机数
import (
"math/rand"
"fmt"
"time"
)
func init(){ //init函数主要做包初始化的
rand.Seed(time.Now().UnixNano())
}
func main(){
for i :=0;i <10;i++{
a:=rand.Int()
fmt.Println(a)
}
for i :=0;i <100;i++{
a := rand.Intn(100)
fmt.Println(a)
}
for i :=0;i <10;i++{
a := rand.Float32()
fmt.Println(a)
}
}
来源:https://blog.csdn.net/qq_34857250/article/details/100569691