Sobes.tech
Junior

Go dilində defer quruluşunun rolu nədir?

sobes.tech Süni İntellekt

AI-dan cavab

Go dilində, defer quruluşu, funksiyanın çıxışında çağırılacaq funksiyaları gecikdirmək üçün istifadə olunur — bu, cari funksiyadan çıxış zamanı çağırılacaq, çıxışın necə baş verməsindən asılı olmayaraq (normal və ya səhər).

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() error {
    file, err := os.Open("file.txt")
    if err != nil {
        return err
    }
    defer file.Close() // fayl funksiyadan çıxarkən bağlanacaq

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

Beləliklə, defer vacib yekunlaşdırma əməliyyatlarının yerinə yetirilməsini təmin edir, resursların idarə olunmasını və səhv işlənməsini yaxşılaşdırır.