Sobes.tech
Junior

Go dilinde defer yapısının rolü nedir?

sobes.tech yapay zeka

AI'dan gelen yanıt

Go dilinde, defer yapısı, fonksiyonun çıkışında çağrılacak şekilde fonksiyonların ertelenmiş olarak çalıştırılması için kullanılır — çıkışın nasıl gerçekleştiğine bakılmaksızın (normal veya hata nedeniyle).

Bu, kaynakların serbest bırakılması, dosyaların kapatılması, mutexlerin kilidinin açılması ve diğer temizlik işlemleri için kullanışlıdır.

Örnek:

func readFile() error {
    file, err := os.Open("file.txt")
    if err != nil {
        return err
    }
    defer file.Close() // dosya fonksiyondan çıkarken kapanır

    // dosya ile çalışma
    return nil
}

Bu şekilde, defer önemli kapanış işlemlerinin gerçekleştirilmesini sağlar, kaynak yönetimini ve hata işleme süreçlerini iyileştirir.