Senior
Qu'est-ce que defer en Go ? Que va afficher le code avec deux defer ?
sobes.tech IA
Réponse de l'IA
En Go, le mot-clé defer est utilisé pour appeler une fonction de manière différée : elle sera exécutée après la fin de la fonction englobante, mais avant son retour.
Si plusieurs defer sont présents dans une fonction, ils s'exécutent dans l'ordre inverse de leur déclaration (pile d'appels).
Exemple :
package main
import "fmt"
func main() {
defer fmt.Println("Premier defer")
defer fmt.Println("Deuxième defer")
fmt.Println("Code principal")
}
La sortie sera :
Code principal
Deuxième defer
Premier defer
C'est-à-dire que le code principal s'exécute en premier, puis les appels différés dans l'ordre inverse.