Sobes.tech
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 маанилүү аяктоо иш-аракеттерин ишке ашырууну камсыздайт, ресурстарды башкарууну жана ката иштетүүнү жакшыртат.