Sobes.tech
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.