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