Middle
Ce este defer în Go și în ce moment este apelat?
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ă după ce funcția înconjurătoare s-a încheiat, dar înainte de ieșirea sa.
Este util pentru eliberarea resurselor, închiderea fișierelor, deblocarea mutexurilor și alte operațiuni de curățare, asigurându-se că acestea vor avea loc chiar și în caz de erori sau panică.
Exemplu:
func readFile() {
file, err := os.Open("file.txt")
if err != nil {
log.Fatal(err)
}
defer file.Close() // fișierul se va închide la sfârșitul funcției
// lucru cu fișierul
}
Aici, file.Close() va fi apelat automat la ieșirea din readFile, indiferent de modul în care se termină funcția.