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