Sobes.tech
Junior — Middle

Go tilida defer tuzilmasining ishlash prinsipi va qo'llanilishini tushuntirib bera olasizmi?

sobes.tech AI

AIdan javob

Go tilida defer kalit so'zi, funksiyani kechiktirish uchun ishlatiladi: u hozirgi funksiyadan chiqish paytida bajariladi, chiqish qanday bo'lishidan qat'i nazar (odatda yoki xato bilan). Bu resurslarni bo'shatish, fayllarni yopish, mutexlarni ochish va boshqa tozalash operatsiyalari uchun qulay.

Misol:

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

    // fayl bilan ishlash
    return nil
}

Shu tarzda, defer toza va xavfsiz kod yozishga yordam beradi, muhim yakuniy harakatlarni bajarilishini kafolatlaydi.