Junior — Middle
Pouvez-vous expliquer le principe de fonctionnement et l'utilisation de la construction defer dans le langage Go?
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 au moment de la sortie de la fonction en cours, indépendamment de la façon dont la sortie se produit (normalement ou en cas d'erreur). Cela est pratique pour libérer des ressources, fermer des fichiers, déverrouiller des mutex et effectuer d'autres opérations de nettoyage.
Exemple :
func readFile(filename string) error {
file, err := os.Open(filename)
if err != nil {
return err
}
defer file.Close() // le fichier sera fermé à la sortie de la fonction
// travail avec le fichier
return nil
}
Ainsi, defer aide à écrire un code plus propre et plus sûr, en garantissant l'exécution d'actions importantes de fin.