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.