golang 中有的 init 函数会先 main 函数执行,var 会先 init 函数执行,所以执行顺序为 var --> init() --> main() 。
/**
* @Author: v_bivwei
* @Description:
* @Date: 2020/7/4 16:44
*/
package main
import "fmt"
func init() {
fmt.Println("init func")
}
func main() {
fmt.Println("main func")
}

/**
* @Author: v_bivwei
* @Description:
* @Date: 2020/7/4 16:50
*/
package main
import "fmt"
func init() {
fmt.Println("init func")
global = 0
}
func convert() int {
fmt.Println("convert func")
return 100
}
var global = convert()
func main() {
fmt.Println("main func global = ", global)
}

本文详细解析了Golang中变量初始化、init函数及main函数的执行顺序,揭示了Golang程序启动时的关键流程。了解这些基础知识对于深入理解Golang运行机制至关重要。
431

被折叠的 条评论
为什么被折叠?



