Junior — Middle
Poți explica principiul de funcționare și aplicarea construcției defer în limbajul Go?
sobes.tech AI
Răspuns de la AI
În Go, cuvântul cheie defer este folosit pentru a apela o funcție întârziat: aceasta va fi executată î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(filename string) error {
file, err := os.Open(filename)
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 scrierea unui cod mai curat și mai sigur, garantând executarea acțiunilor importante de finalizare.