Sobes.tech
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.