Sobes.tech
Junior

Go tilida defer konstruktsiyasi qanday rol o'ynaydi?

sobes.tech AI

AIdan javob

Go tilida, defer tuzilishi, funksiyadan chiqish vaqtida chaqiriladigan funksiyalarni kechiktirish uchun ishlatiladi — u hozirgi funksiyadan chiqish paytida chaqiriladi, chiqish qanday bo'lishidan qat'i nazar (odatda yoki xato tufayli).

Bu resurslarni bo'shatish, fayllarni yopish, mutexlarni ochish va boshqa tozalash operatsiyalar uchun qulay.

Misol:

func readFile() error {
    file, err := os.Open("file.txt")
    if err != nil {
        return err
    }
    defer file.Close() // fayl funksiyadan chiqishda yopiladi

    // fayl bilan ishlash
    return nil
}

Shu tarzda, defer muhim yakuniy harakatlarni bajarilishini ta'minlaydi, resurslarni boshqarish va xatoliklarni qayta ishlashni yaxshilaydi.