Sobes.tech
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")