Sobes.tech
Junior — Middle

Go dilinde defer yapısının çalışma prensibini ve kullanımını açıklayabilir misiniz?

sobes.tech yapay zeka

AI'dan gelen yanıt

Go dilinde, defer anahtar kelimesi, bir fonksiyonun çağrılmasını ertelemek için kullanılır: bu fonksiyon, mevcut fonuktan çıkış anında, çıkışın nasıl gerçekleştiğine bakılmaksızın çalıştırılır (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(filename string) error {
    file, err := os.Open(filename)
    if err != nil {
        return err
    }
    defer file.Close() // dosya fonuktan çıkarken kapanır

    // dosyayla çalışma
    return nil
}

Bu şekilde, defer daha temiz ve güvenli kod yazmaya yardımcı olur, önemli kapanış işlemlerinin gerçekleştirilmesini garanti eder.