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.