每一个源文件中都可以包含一个init函数,该函数会在main函数执行前,被GO框架调用,也就是说init会在main函数前被调用
package main
import (
"fmt"
)
func init(){
fmt.Print("init func\n")
}
func main(){
fmt.Print("main func\n")
}
注意点
- 如果一个同时包含变量定义(全局变量), init函数和main函数,则执行流程是
变量定义->init函数->main函数
package main
import (
"fmt"
)
var age int= test()
//为了看到全局变量先被初始化的,我们这里先些一个函数初始化
func test() int{
fmt.Println("test()")
return 90
}
func init(){
fmt.Print("init func\n")
}
func main(){
fmt.Print("main func\n")
}