golang 中 init func 和 var 谁先执行问题

    技术2025-09-30  52

    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) }

    Processed: 0.013, SQL: 9