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