Quand la fonction init() s'exécute-t-elle ?
La fonction init() est une fonction spéciale dans Go qui s'exécute lors de l'initialisation du package. Elle est généralement utilisée pour effectuer des tâches d'initialisation qui ne peuvent pas être gérées par la fonction main() du package.
Selon la documentation Go, la fonction init() est appelée après toutes les déclarations de variables dans le package ont évalué leurs initialiseurs. Cela signifie que toutes les variables globales et leurs initialiseurs auront été traités avant l'exécution de la fonction init().
L'exemple suivant illustre ce comportement :
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.") } }
Dans cet exemple, AnswerToLife () la fonction (1) est garantie de s'exécuter avant l'appel de la fonction init() (2). L'exécution de la fonction init() est alors garantie avant l'appel de la fonction main() (3).
Notez que la fonction init() est toujours appelée, qu'il y ait ou non une fonction main(). fonction. Par conséquent, si vous importez un package doté d'une fonction init(), il sera exécuté.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!