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