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")