Sobes.tech
Junior — Middle

Jaké informace je možné předávat přes kontext v aplikaci?

sobes.tech AI

Odpověď od AI

V Go se obvykle předávají informace související s řízením životního cyklu požadavku nebo operace prostřednictvím context (context.Context`), například:

  • Zrušení operace (přes kanál Done()).
  • Termíny a časové limity (přes Deadline()).
  • Hodnoty potřebné po celou dobu řetězce volání, například identifikátory požadavků, tokeny ověření, metadata.

Důležité: do kontextu neumisťujte velké objekty, stavy nebo data, která nesouvisí s řízením požadavku, aby nedošlo k narušení jeho účelu a k únikům paměti.

Příklad přenosu hodnoty přes kontext:

ctx := context.WithValue(context.Background(), "requestID", "12345")
requestID := ctx.Value("requestID")