Junior — Middle
Bağlam kavramının kullanıldığı durumlar veya örnekler verebilir misin?
sobes.tech yapay zeka
AI'dan gelen yanıt
Go dilinde, bağlam kavramı (context.Context), işlemlerin yaşam süresini yönetmek, iptalleri, zaman aşımı ve fonksiyonlar arasında değer iletimi için kullanılır.
Ana kullanım durumları:
- İşlemleri iptal etme: Örneğin, ağ istekleri veya veritabanlarıyla çalışırken, müşteri isteği iptal ederse uzun süren bir işlemi iptal edebilirsiniz.
- Zaman aşımı ve süre sınırları: Bir işlemin maksimum çalışma süresini belirleyebilir ve bu süreden sonra otomatik olarak iptal edilebilir.
- Değer iletimi: Örneğin, istek kimlikleri, kimlik doğrulama tokenleri, farklı çağrı seviyelerinde gereken meta veriler.
Örnek:
func HandleRequest(ctx context.Context) {
select {
case <-time.After(5 * time.Second):
// İşlemi gerçekleştir
case <-ctx.Done():
// İşlem iptal edildi veya zaman aşımı gerçekleşti
return
}
}
Bağlam, özellikle çok iş parçacıklı ve ağ tabanlı uygulamalarda daha yönetilebilir ve duyarlı kod yazmaya yardımcı olur.