Junior — Middle
Kas võib olla mitu defer-operatorit ühes funktsioonis?
sobes.tech AI
Vastus AI-lt
Jah, Go keeles saab ühes funktsioonis kasutada mitut defer-i. Kõik hilinenud kutsed täidetakse vastupidises järjekorras (LIFO) pärast funktsiooni lõpetamist. See on kasulik ressursside vabastamiseks, failide sulgemiseks, mutexide avamiseks jne.
Näide:
func näide() {
defer fmt.Println("Esimene defer")
defer fmt.Println("Teine defer")
fmt.Println("Funktsiooni kehas")
}
// Väljund on:
// Funktsiooni kehas
// Teine defer
// Esimene defer