Senior
Go'da defer nima? Ikki defer bilan kod nima chiqaradi?
sobes.tech AI
AIdan javob
Go tilida, defer kalit so'zi funksiyani kechiktirish uchun ishlatiladi: u atrofdagi funksiyani tugatgandan so'ng, lekin uning qaytishidan oldin bajariladi.
Agar bir funksiyada bir nechta defer bo'lsa, ular e'lon qilingan tartibga qarshi tartibda bajariladi (chaqiriq steki).
Misol:
package main
import "fmt"
func main() {
defer fmt.Println("Birinchi defer")
defer fmt.Println("Ikkinchi defer")
fmt.Println("Asosiy kod")
}
Chiqish quyidagicha bo'ladi:
Asosiy kod
Ikkinchi defer
Birinchi defer
Ya'ni, avvalo asosiy kod bajariladi, so'ngra kechiktirilgan chaqiriqlar teskari tartibda bajariladi.