go 中,初始化的顺序,package ->const->var ->init()->main()
为了使用导入的包,首先必须将其初始化。这通过Golang的运行时系统控制,执行顺序为:
初始化导入的包(递归导入)
对包块中声明的变量进行计算和分配初始值
执行包中的init函数
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")
}