go 中,初始化的顺序,package ->const->var ->init()->main()vim
为了使用导入的包,首先必须将其初始化。这经过Golang的运行时系统控制,执行顺序为:函数
初始化导入的包(递归导入)code
对包块中声明的变量进行计算和分配初始值递归
执行包中的init函数it
package main import ( "fmt" "log" "os" ) func init() { log.SetOutput(os.Stdout) log.Println("init") log.Println("%v", os.Stdout) } func main() { fmt.Println("vim-go") }