Junior — Middle
Ar galima turėti kelis defer operatorius vienoje funkcijoje?
sobes.tech AI
Atsakymas iš AI
Taip, Go kalboje galima naudoti kelis defer operatorius vienoje funkcijoje. Visos atidėtos iškvietimai bus vykdomi atvirkštine tvarka (LIFO) po funkcijos pabaigos. Tai naudinga resursų atlaisvinimui, failų uždarymui, mutexų atrakcinimui ir pan.
Pavyzdys:
func pavyzdys() {
defer fmt.Println("Pirmas defer")
defer fmt.Println("Antras defer")
fmt.Println("Funkcijos viduje")
}
// Išvestis bus:
// Funkcijos viduje
// Antras defer
// Pirmas defer