Sobes.tech
Junior — Middle

Puoi spiegare il principio di funzionamento e l'applicazione della costruzione defer nel linguaggio Go?

sobes.tech AI

Risposta dell'AI

In Go, la parola chiave defer viene utilizzata per chiamare una funzione in modo differito: questa verrà eseguita al momento dell'uscita dalla funzione corrente, indipendentemente da come avviene l'uscita (normalmente o a causa di un errore). È utile per liberare risorse, chiudere file, sbloccare mutex e altre operazioni di pulizia.

Esempio:

func readFile(filename string) error {
    file, err := os.Open(filename)
    if err != nil {
        return err
    }
    defer file.Close() // il file si chiuderà all'uscita dalla funzione

    // lavoro con il file
    return nil
}

In questo modo, defer aiuta a scrivere codice più pulito e sicuro, garantendo l'esecuzione di azioni di chiusura importanti.