Sobes.tech
Senior

Cosa significa la parola chiave defer in Go?

sobes.tech AI

Risposta dell'AI

In Go, la parola chiave defer viene utilizzata per eseguire funzioni in modo differito: una chiamata contrassegnata con defer verrà eseguita dopo che la funzione circostante ha terminato, ma prima del suo ritorno.

Questo è utile per liberare risorse, chiudere file, sbloccare mutex e altre operazioni di pulizia, garantendo che vengano eseguite anche in caso di errori o panico.

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

    // lavorare con il file
    return nil
}

In questo modo, defer aiuta a scrivere codice più pulito e sicuro, gestendo il ciclo di vita delle risorse.