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