Senior
Goда defer эмне? Эки defer менен код эмне чыгарат?
sobes.tech AI
AIден жооп
Go тилинде, defer ачкыч сөзү функцияны кечиктирүү үчүн колдонулат: ал чөйрөлүү функция аяктагандан кийин, бирок анын кайтарылышы алдында ишке ашырылат.
Эгер бир функцияда бир нече defer болсо, алар декларацияланган тартипке карата тескерисинче ишке ашырылат (чалуу стек).
Мисал:
package main
import "fmt"
func main() {
defer fmt.Println("Биринчи defer")
defer fmt.Println("Экинчи defer")
fmt.Println("Негизги код")
}
Чыгуу мындай болот:
Негизги код
Экинчи defer
Биринчи defer
Мындайча айтканда, биринчи негизги код ишке ашырылат, андан кийин кечиктирилген чакыруулар тескерисинче тартипте ишке ашырылат.