Golang a une instruction de contrôle spéciale, c'est-à-dire defer. L'instruction defer est utilisée pour retarder l'appel de la fonction spécifiée, comme la libération de ressources, etc. la fin de la fonction, mais avant le retour , regardons d'abord le code pour avoir une brève compréhension : (Apprentissage recommandé : go)
1 2 3 4 5 6 7 8 9 10 |
|
L'exécution les résultats sont les suivants :
1 2 3 |
|
Il est clair que la fonction avec defer est exécutée en dernier
Maintenant, changez le code pour que le code panique lorsqu'une exception est levée. , la fonction de report sera-t-elle toujours exécutée ?
1 2 3 4 5 6 7 8 9 10 11 12 13 |
|
Sortie
1 2 3 |
|
La fonction de retard n'est pas exécutée. Pourquoi ? C'est parce que la panique est avant la fonction de retard. Modifiez le code comme suit :
1 2 3 4 5 6 7 8 9 10 11 12 |
|
Sortie
1 2 3 |
|
La fonction de retard est exécutée, et vous peut voir panique La fonction retardée ne peut pas être exécutée avant la fonction retardée, après tout, une exception sera levée.
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!