package Series import "fmt" func init() { fmt.Println("init1") } func init() { fmt.Println("init2") } func Square(n int) int { return n * n } func GetFibonacciSerie(n int) []int { ret := []int{1, 1} for i := 2; i < n; i++ { ret = append(ret, ret[i-2]+ret[i-1]) } return ret }
在main被執行前,全部依賴的package的init方法都會被執行(相似與Java中的代碼塊)app
不一樣包的init函數按照包導入的依賴關係決定執行順序·函數
每一個包能夠有多個init函數,多個init函數依次執行。code
包的每一個源文件也能夠有多個init函數,這點比較特殊ci