Junior — Middle
Felsorolnád a kontextus különböző használati eseteit a programozásban vagy rendszerarchitektúrában?
sobes.tech MI
Válasz az MI-től
A Go nyelvben a context az végrehajtási állapotról szóló információk továbbítására, műveletek megszakítására és időhatárok beállítására szolgál goroutine-ok és függvények között. A kontextus fő felhasználási forgatókönyvei:
- Műveletek megszakítása: lehetővé teszi hosszú vagy blokkoló műveletek megszakítását, például szerverlezárás vagy kérés megszakítása esetén.
- Időhatárok továbbítása: beállítható egy idő, amely után a műveletet meg kell szakítani.
- Értékek továbbítása: a kontextus kulcs-érték párokat tartalmazhat, például kérésazonosítókat, hitelesítési tokeneket.
- Szinkronizáció: segít több goroutine munkájának koordinálásában, hogy azok helyesen fejeződjenek be.
Használati példa:
ctx, cancel := context.WithTimeout(context.Background(), time.Second*5)
defer cancel()
// a ctx-t átadjuk egy olyan függvénynek, amely időkorlát miatt megszakítható
result, err := doSomething(ctx)
Így a context segít az műveletek életciklusának kezelésében és metainformációk továbbításában.