init() 関数はいつ実行されますか?
init() 関数は、パッケージの初期化中に実行される Go の特別な関数です。これは通常、パッケージの main() 関数では処理できない初期化タスクを実行するために使用されます。
Go ドキュメントによると、init() 関数はすべての変数宣言の後に呼び出されます。パッケージ内の初期化子が評価されています。これは、init() 関数が実行される前に、すべてのグローバル変数とそのイニシャライザが処理されていることを意味します。
次の例は、この動作を示しています。
var WhatIsThe = AnswerToLife() func AnswerToLife() int { // 1 return 42 } func init() { // 2 WhatIsThe = 0 } func main() { // 3 if WhatIsThe == 0 { fmt.Println("It's all a lie.") } }
この例では、AnswerToLife () 関数 (1) は、init() 関数 (2) が呼び出される前に実行されることが保証されています。 init() 関数は、main() 関数 (3) が呼び出される前に実行されることが保証されます。
init() 関数は、main() があるかどうかに関係なく、常に呼び出されることに注意してください。関数。したがって、init() 関数を持つパッケージをインポートすると、それが実行されます。
以上がGo の `init()` 関数はいつ、どのように実行されますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。