Go 語言基礎——init函數

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
}
  1. 在main被執行前,全部依賴的package的init方法都會被執行(相似與Java中的代碼塊)app

  2. 不一樣包的init函數按照包導入的依賴關係決定執行順序·函數

  3. 每一個包能夠有多個init函數,多個init函數依次執行。code

  4. 包的每一個源文件也能夠有多個init函數,這點比較特殊ci

相關文章
相關標籤/搜索