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