Junior — Middle
Go тилиндеги defer курулушунун иштөө принциби жана колдонулушу жөнүндө түшүндүрө аласызбы?
sobes.tech AI
AIден жооп
Go тилинде, defer ачкыч сөзү функцияны кечиктирүү үчүн колдонулат: ал учурдагы функциядан чыгуу учурунда ишке ашырылат, чыгуу кандай болбосун (нормалдуу же ката менен). Бул ресурстарды бошотуу, файлдарды жабуу, mutexтерди ачуу жана башка тазалоо операциялары үчүн пайдалуу.
Мисал:
func readFile(filename string) error {
file, err := os.Open(filename)
if err != nil {
return err
}
defer file.Close() // файл функциядан чыгуу менен жабылат
// файл менен иштөө
return nil
}
Мындайча айтканда, defer таза жана коопсуз код жазууга жардам берет, маанилүү аяктоо иш-аракеттерин ишке ашырууну кепилдейт.