Junior — Middle
Můžeš vyjmenovat různé scénáře využití kontextu v programování nebo architektuře systémů?
sobes.tech AI
Odpověď od AI
V jazyce Go se context používá k přenosu informací o stavu provádění, k zrušení operací a k nastavení časových limitů mezi gorutinami a funkcemi. Hlavní scénáře použití kontextu:
- Zrušení operací: umožňuje zrušit dlouhé nebo blokující operace, například při zavírání serveru nebo zrušení požadavku.
- Přenos časových limitů: lze nastavit čas, po kterém má být operace přerušena.
- Přenos hodnot: kontext může obsahovat páry klíč-hodnota, například identifikátory požadavků, tokeny autentifikace.
- Synchronizace: pomáhá koordinovat práci více gorutin tak, aby správně skončily.
Příklad použití:
ctx, cancel := context.WithTimeout(context.Background(), time.Second*5)
defer cancel()
// předáváme ctx do funkce, která může být přerušena časovým limitem
result, err := doSomething(ctx)
Tímto způsobem context pomáhá řídit životní cyklus operací a přenášet metadata.