Go語言學習 main和init

2022-02-02 09:05:23 字數 688 閱讀 3454

main 函式和 init 函式

go裡面有兩個保留的函式: init 函式(能夠應用於所有的 package )和 main 函式(只能應用於 package main )。

這兩個函式在定義時不能有任何的引數和返回值。雖然乙個 package 裡面可以寫任意多個 init 函式,但這無論是對

於可讀性還是以後的可維護性來說,我們都強烈建議使用者在乙個 package 中每個檔案只寫乙個 init 函式。

go程式會自動呼叫 init() 和 main() ,所以你不需要在任何地方呼叫這兩個函式。每個 package 中的 init 函式都是

可選的,但 package main 就必須包含乙個 main 函式。

程式的初始化和執行都起始於 main 包。如果 main 包還匯入了其它的包,那麼就會在編譯時將它們依次匯入。有時一

個包會被多個包同時匯入,那麼它只會被匯入一次(例如很多包可能都會用到 fmt 包,但它只會被匯入一次,因為沒

有必要匯入多次)。當乙個包被匯入時,如果該包還匯入了其它的包,那麼會先將其它包匯入進來,然後再對這些包

中的包級常量和變數進行初始化,接著執行 init 函式(如果有的話),依次類推。等所有被匯入的包都載入完畢

了,就會開始對 main 包中的包級常量和變數進行初始化,然後執行 main 包中的 init 函式(如果存在的話),最後執

行 main 函式。

go中的main函式和init函式

go 裡面有兩個保留的函式 init 函式 能夠應用於所有的 package 和main 函式 只能應用於 package main 這兩個函式在定義時不能有任何的引數和返回值。雖然乙個 package 裡面可以寫任意多個 init 函式,但這無論是對於可讀性還是以後的可維護性來說,我們都強烈建議使...

go中的main函式和init函式

go裡面有兩個保留的函式 init 函式 能夠應用於所有的 package 和main 函式 只能應用於 package main 這兩個函式在定義時不能有任何的引數和返回值。雖然乙個 package 裡面可以寫任意多個 init 函式,但這無論是對於可讀性還是以後的可維護性來說,我們都強烈建議使用...

go中的main函式和init函式

go裡面有兩個保留的函式 init函式 能夠應用於所有的package 和main函式 只能應用於package main 這兩個函式在定義時不能有任何的引數和返回值。雖然乙個package裡面可以寫任意多個init函式,但這無論是對於可讀性還是以後的可維護性來說,我們都強烈建議使用者在乙個pack...