Junior — Middle
Uygulamada bağlam aracılığıyla hangi bilgiler iletilebilir?
sobes.tech yapay zeka
AI'dan gelen yanıt
Go dilinde, genellikle bir istek veya işlemin yaşam döngüsü ile ilgili bilgileri context.Context aracılığıyla iletiriz, örneğin:
- İşlemi iptal etme (
Done()kanalı aracılığıyla). - Son tarihler ve zaman aşımı (
Deadline()aracılığıyla). - Tüm çağrı zinciri boyunca ihtiyaç duyulan değerler, örneğin istek kimlikleri, kimlik doğrulama tokenleri, meta veriler.
Önemli: Bağlamda büyük nesneler, durumlar veya isteğin yönetimiyle ilgisi olmayan veriler yer almamalıdır, böylece amacını bozmaz ve bellek sızıntılarını önler.
Bir değerin bağlam aracılığıyla iletildiğine örnek:
ctx := context.WithValue(context.Background(), "requestID", "12345")
requestID := ctx.Value("requestID")