Middle
Go'da defer nima va qachon chaqiriladi?
sobes.tech AI
AIdan javob
Go tilida defer kalit so'zi funksiyani kechiktirish uchun ishlatiladi: u atrofdagi funksiyani tugatgandan so'ng, lekin chiqishdan oldin bajariladi.
Bu resurslarni bo'shatish, fayllarni yopish, mutexlarni ochish va boshqa tozalash operatsiyalarini bajarish uchun qulay, hatto xatoliklar yoki paniklar yuzaga kelgan taqdirda ham amalga oshishini ta'minlaydi.
Misol:
func readFile() {
file, err := os.Open("file.txt")
if err != nil {
log.Fatal(err)
}
defer file.Close() // fayl funksiyaning oxirida yopiladi
// fayl bilan ishlash
}
Bu yerda, file.Close() avtomatik ravishda readFiledan chiqishda chaqiriladi, funksiyaning qanday tugashidan qat'i nazar.