Junior — Middle
Go programlama dilinde bağlamın rolü ve amacı nedir?
sobes.tech yapay zeka
AI'dan gelen yanıt
Go dilinde, (context.Context) bağlam, işlemlerin yaşam süresini yönetmek, iptal sinyalleri iletmek ve goroutine'ler ile fonksiyonlar arasında değerler aktarmak için kullanılır.
Bağlamın temel görevleri:
- İşlemleri iptal etme: Uzun veya engelleyici işlemleri iptal etmeye olanak tanır, örneğin zaman aşımı veya isteğin iptali durumunda.
- Son tarihler iletmek: İşlemin otomatik olarak kesilmesi gereken zamanı belirleyebilirsiniz.
- Değerler iletmek: İstek veya işlemle ilgili verileri, örneğin kullanıcı kimlikleri, tokenler gibi, iletmeye olanak tanır.
Kullanım örneği:
ctx, cancel := context.WithTimeout(context.Background(), time.Second*5)
defer cancel()
// Uzun süren bir işlemi gerçekleştiren fonksiyona ctx'yi geçiyoruz
result, err := LongOperation(ctx)
if err == context.DeadlineExceeded {
fmt.Println("İşlem zaman aşımı nedeniyle iptal edildi")
}
Bağlam, özellikle ağ ve eşzamanlı uygulamalarda daha yönetilebilir ve duyarlı kod yazmaya yardımcı olur.