Sobes.tech
Junior — Middle

Bir funksiyada bir nechta defer operatorlari bo'lishi mumkinmi?

sobes.tech AI

AIdan javob

Ha, Go tilida bir funksiyada bir nechta defer operatoridan foydalanish mumkin. Barcha kechiktirilgan chaqiruvlar funksiyaning bajarilishi tugagach, teskari tartibda (LIFO) bajariladi. Bu resurslarni bo'shatish, fayllarni yopish, mutexlarni ochish va boshqalar uchun qulay.

Misol:

func misol() {
    defer fmt.Println("Birinchi defer")
    defer fmt.Println("Ikkinchi defer")
    fmt.Println("Funktsiya ichida")
}

// Natija quyidagicha bo'ladi:
// Funktsiya ichida
// Ikkinchi defer
// Birinchi defer