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.