執行順序是按照導入包的順序執行,而不是按照調用先后順序執行。
1、init 的主要作用:初始化。
2、init 的主要特點:
1)init 函數先於 main 函數自動執行,不能被其他函數調用;
2)init 函數沒有輸入參數、返回值;
3)每個包可以有多個 init 函數(一般建議只寫一個init,便於維護和可讀性);
4)包的每個源文件也可以有多個 init 函數,這點比較特殊;
5)
同一個包的 init 執行順序, golang 沒有明確定義,編程時要注意程序不要依賴這個執行順序;
6)不同包的 init 函數按照包導入的依賴關系決定執行順序。
3、值得注意的地方:
1)、【import _ 包路徑】的含義
為了調用init()函數,無法通過包名來調用包中的其他函數。
2)、【包前有. 】的含義
import(.“fmt”)
導入包之后在你調用這個包的函數時,可以省略前綴的包名,寫成Println(“hello world”)。
3)、【別名操作】的含義
避免與其他包名重復或者為了簡化包名,別名操作調用包函數時前綴變成了重命名的前綴。
import(f “fmt”)
調用f.Println()
