Junior — Middle
Môžeš vymenovať rôzne scenáre použitia kontextu v programovaní alebo architektúre systémov?
sobes.tech AI
Odpoveď od AI
V jazyku Go sa context používa na prenos informácií o stave vykonávania, na zrušenie operácií a na nastavenie časových limitov medzi gorutinami a funkciami. Hlavné scenáre použitia kontextu:
- Zrušenie operácií: umožňuje zrušiť dlhé alebo blokujúce operácie, napríklad pri zatváraní servera alebo zrušení požiadavky.
- Prenos časových limitov: možno nastaviť čas, po ktorom má byť operácia prerušená.
- Prenos hodnôt: kontext môže obsahovať páry kľúč-hodnota, napríklad identifikátory požiadaviek, tokeny na overenie.
- Synchronizácia: pomáha koordinovať prácu viacerých gorútin, aby správne skončili.
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)
Týmto spôsobom context pomáha riadiť životný cyklus operácií a prenášať metadáta.