Sobes.tech
Junior — Middle

Jaké prvky lze zahrnout do aktuálního kontextu spuštění programu?

sobes.tech AI

Odpověď od AI

V jazyce Go (Golang) je aktuální kontext běhu programu obvykle reprezentován typem context.Context. Používá se k přenosu informací o stavu běhu, zrušení operací a časových limitech mezi gorutinami.

Do kontextu lze zahrnout následující prvky:

  • Zrušení (Cancellation) — signál, že operace by měla být přerušena.
  • Deadline (Deadline) — čas, po kterém je operace považována za vypršenou.
  • Hodnoty (Values) — páry klíč-hodnota pro přenos doplňujících informací (například identifikátory požadavků, tokeny autentifikace).

Příklad použití:

ctx, cancel := context.WithTimeout(context.Background(), time.Second*5)
defer cancel()

ctx = context.WithValue(ctx, "requestID", "12345")

// Předat ctx funkcím, které mohou zkontrolovat zrušení, časový limit nebo získat hodnoty

Tímto způsobem obsahuje kontext metadata a řídí životní cyklus operací v programu.