Golang - 多個 init 方法的執行順序


  執行順序是按照導入包的順序執行,而不是按照調用先后順序執行。

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()


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM