编译器会让init在main函数之前执行,init函数常用来加载配置文件,连接数据库等。
- golang每个包都可以有init
- 其它包的init先执行,main包中的init最后执行(按依赖顺序)
- (一个包中可以有多个init)
//first/first.go
package first
import "fmt"
func init() {
fmt.Println("first init")
}
func Run() {}
//main.go
package main
import (
"fmt"
"myself/test/first"
)
func init() {
fmt.Println("main init")
}
func main() {
first.Run()
}
#输出
first init
main init