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