一、init函数
每一个源文件都可以包含一个init函数,该函数会在main函数执行前,被Go运行框架调用,也就是说init会 在main函数前被调用。
二、init函数入门
//init函数
package main
import (
"fmt"
)
//定义一个init函数
func init(){
fmt.Println("init执行")
}
func main() {
fmt.Println("main执行")
}
三、注意事项
1、如果一个文件同时包含全局变量定义,init函数和main函数,则执行的流程是全局变量定义>init函数>main函数
//init函数
package main
import (
"fmt"
)
//定义一个全局变量
var a1 = test()
func test() int{
fmt.Println("test执行")
return 10
}
//定义一个init函数
func init(){
fmt.Println("init执行")
}
func main() {
fmt.Println("main执行")
fmt.Println(a1)
}
2、init函数最主要的作用,就是完成一些初始化的工作
package utils
var Age int
var Name string
//使用init函数进行初始化
func init() {
Age = 10
Name = "小明"
}
//init函数
package main
import (
"fmt"
"go_code/project01/main/demo08/utils"
)
func main() {
fmt.Println(utils.Age,utils.Name)
}