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.