Sobes.tech
Junior — Middle

Kada vykdomo proceso metu yra iškviečiamas defer operatorius?

sobes.tech AI

Atsakymas iš AI

„defer“ įsakymas Go kalboje atideda nurodytos funkcijos vykdymą iki tol, kol išėjimas iš apimančios funkcijos, kurioje ji deklaruota. Kitaip tariant, funkcijos, perduotos defer, iškvietimas įvyksta būtent prieš grįžtant iš dabartinės funkcijos. Tai naudinga resursų atlaisvinimui, failų uždarymui, mutexų atrakcinimui ir pan.

Pavyzdys:

func pavyzdys() {
    defer fmt.Println("Atidėtas iškvietimas")
    fmt.Println("Pagrindinis kodas")
}
// Išvestis bus:
// Pagrindinis kodas
// Atidėtas iškvietimas