Junior — Middle
Se poate avea mai mulți operatori defer într-o singură funcție?
sobes.tech AI
Răspuns de la AI
Da, în Go se pot folosi mai mulți operatori defer în aceeași funcție. Toate apelurile întârziate vor fi executate în ordine inversă (LIFO) după ce funcția se va încheia. Acest lucru este util pentru eliberarea resurselor, închiderea fișierelor, deblocarea mutexurilor etc.
Exemplu:
func exemplu() {
defer fmt.Println("Primul defer")
defer fmt.Println("Al doilea defer")
fmt.Println("În corpul funcției")
}
// Se va afișa:
// În corpul funcției
// Al doilea defer
// Primul defer