Junior — Middle
Aké informácie je možné prenášať cez kontext v aplikácii?
sobes.tech AI
Odpoveď od AI
V Go se običajno prenese informacije, ktoré súvisia s riadením životného cyklu požiadavky alebo operácie, prostredníctvom context (context.Context`), napríklad:
- Zrušenie operácie (cez kanál
Done()). - Lehoty a časové limity (cez
Deadline()). - Hodnoty, ktoré sú potrebné počas celej reťaze volaní, ako sú identifikátory požiadaviek, tokeny na overenie, metadáta.
Dôležité: do kontextu neumiestňujte veľké objekty, stavy alebo údaje, ktoré nesúvisia s riadením požiadavky, aby ste nezničili jeho účel a predišli únikom pamäte.
Príklad prenášania hodnoty cez kontext:
ctx := context.WithValue(context.Background(), "requestID", "12345")
requestID := ctx.Value("requestID")