Junior
Ce rol joacă construcția defer în limbajul Go?
sobes.tech AI
Răspuns de la AI
În limbajul Go, construcția defer este utilizată pentru executarea întârziată a funcțiilor: acestea vor fi apelate în momentul ieșirii din funcția curentă, indiferent de modul în care are loc ieșirea (normal sau din cauza unei erori).
Este util pentru eliberarea resurselor, închiderea fișierelor, deblocarea mutexurilor și alte operațiuni de curățare.
Exemplu:
func readFile() error {
file, err := os.Open("file.txt")
if err != nil {
return err
}
defer file.Close() // fișierul se va închide la ieșirea din funcție
// lucru cu fișierul
return nil
}
Astfel, defer ajută la garantarea executării acțiunilor importante de finalizare, îmbunătățind gestionarea resurselor și tratarea erorilor.