Wann wird die Funktion init() ausgeführt?
Die Funktion init() ist eine spezielle Funktion in Go, die während der Paketinitialisierung ausgeführt wird. Es wird normalerweise verwendet, um Initialisierungsaufgaben auszuführen, die nicht von der main()-Funktion des Pakets verarbeitet werden können.
Laut der Go-Dokumentation wird die init()-Funktion nach allen Variablendeklarationen aufgerufen im Paket haben ihre Initialisierer ausgewertet. Dies bedeutet, dass alle globalen Variablen und ihre Initialisierer verarbeitet wurden, bevor die Funktion init() ausgeführt wird.
Das folgende Beispiel demonstriert dieses Verhalten:
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.") } }
In diesem Beispiel ist AnswerToLife ()-Funktion (1) wird garantiert ausgeführt, bevor die init()-Funktion (2) aufgerufen wird. Die Funktion init() wird dann garantiert ausgeführt, bevor die Funktion main() (3) aufgerufen wird.
Beachten Sie, dass die Funktion init() immer aufgerufen wird, unabhängig davon, ob eine Funktion main() vorhanden ist oder nicht. Funktion. Wenn Sie also ein Paket importieren, das über eine init()-Funktion verfügt, wird diese ausgeführt.
Das obige ist der detaillierte Inhalt vonWann und wie wird die Funktion „init()' von Go ausgeführt?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!