Sobes.tech
Junior — Middle

შეგიძლიათ ახსნათ defer კონსტრუქციის მუშაობის პრინციპი და გამოყენება Go ენაში?

sobes.tech AI

პასუხი AI-სგან

Go dilində, defer açar sözü, bir funksiyanı gecikdirmək üçün istifadə olunur: bu funksiya mövcud funksiyadan çıxış zamanı icra olunacaq, çıxışın necə baş verdiyindən asılı olmayaraq (normal və ya səhv səbəbindən). Bu, resursların azad olunması, faylların bağlanması, mutexlərin açılması və digər təmizləmə əməliyyatları üçün əlverişlidir.

Nümunə:

func readFile(filename string) error {
    file, err := os.Open(filename)
    if err != nil {
        return err
    }
    defer file.Close() // fayl funksiyadan çıxanda bağlanacaq

    // fayl ilə işləmək
    return nil
}

Beləliklə, defer daha təmiz və təhlükəsiz kod yazmağa kömək edir, vacib yekunlaşdırma əməliyyatlarının yerinə yetirilməsini təmin edir.