Junior — Middle
Aké prvky je možné zahrnúť do aktuálneho kontextu spustenia programu?
sobes.tech AI
Odpoveď od AI
V jazyku Go (Golang) je aktuálny kontext vykonávania programu zvyčajne reprezentovaný typom context.Context. Používa sa na prenos informácií o stave vykonávania, zrušení operácií a časových limitov medzi gorutinami.
Do kontextu možno zahrnúť nasledujúce prvky:
- Zrušenie (Cancellation) — signál, že operácia by mala byť prerušená.
- Lehota (Deadline) — čas, po ktorom sa operácia považuje za vypršanú.
- Hodnoty (Values) — páry kľúč-hodnota na prenos doplňujúcich informácií (napríklad identifikátory požiadaviek, tokeny autentifikácie).
Príklad použitia:
ctx, cancel := context.WithTimeout(context.Background(), time.Second*5)
defer cancel()
ctx = context.WithValue(ctx, "requestID", "12345")
// Odovzdajte ctx funkciám, ktoré môžu skontrolovať zrušenie, lehotu alebo získať hodnoty
Týmto spôsobom obsahuje kontext metadáda a riadi životný cyklus operácií v programe.