Sobes.tech
Junior — Middle

Aký je cieľ použitia kontextu vo vašom projekte alebo kóde?

sobes.tech AI

Odpoveď od AI

V jazyku Go sa kontext (context.Context) používa na prenos informácií o stave vykonávania, ako sú časové limity, termíny a zrušenia operácií, ako aj na prenos hodnôt medzi gorutinami.

Cieľom použitia kontextu:

  • Riadenie životného cyklu požiadaviek a operácií (napríklad zrušenie HTTP požiadavky pri zatvorení klienta).
  • Prenos metadát (napríklad identifikátory požiadaviek na logovanie).
  • Zabezpečenie zrušenia reťazca volaní podľa potreby.

Príklad použitia:

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

// Odovzdávame ctx do funkcie, ktorá môže byť prerušená časovým limitom
result, err := doSomething(ctx)
if err == context.DeadlineExceeded {
    fmt.Println("Operácia bola prerušená kvôli prekročeniu časového limitu")
}

Týmto spôsobom kontext pomáha riadiť vykonávanie a vymieňať údaje medzi komponentmi aplikácie.