1. main 和 init 函数 一个 package 里面可以写多个 init 函数,但必须仅包含一个 main 函数。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 package main import ( "fmt" ) func init() { fmt.Println("init 1") } func init() { fmt.Println("init 2") } func main() { fmt.Println("main") } // init 1 // init 2 // main 2. defer 函数 Go 不会立即执行 defer 修饰的代码,而是进行标记,在程序退出之前执行。 1 2