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.