Sobes.tech
Junior

Qual è il ruolo della costruzione defer nel linguaggio Go?

sobes.tech AI

Risposta dell'AI

Nel linguaggio Go, la costruzione defer viene utilizzata per eseguire funzioni in modo differito: verranno chiamate al momento dell'uscita dalla funzione corrente, indipendentemente da come avviene l'uscita (normalmente o a causa di un errore).

Questo è utile per liberare risorse, chiudere file, sbloccare mutex e altre operazioni di pulizia.

Esempio:

func readFile() error {
    file, err := os.Open("file.txt")
    if err != nil {
        return err
    }
    defer file.Close() // il file verrà chiuso all'uscita dalla funzione

    // lavoro con il file
    return nil
}

In questo modo, defer aiuta a garantire l'esecuzione di azioni importanti di chiusura, migliorando la gestione delle risorse e il trattamento degli errori.