Junior — Middle
Mi a célja a kontextus használatának a projektedben vagy kódodban?
sobes.tech MI
Válasz az MI-től
Go-ban a context.Context a végrehajtás állapotáról szóló információk továbbítására szolgál, például időkorlátok, határidők és műveletek megszakítása, valamint értékek továbbítása goroutine-ok között.
A kontextus használatának célja:
- A kérések és műveletek életciklusának kezelése (például HTTP-kérés megszakítása a kliens bezárásakor).
- Metaadatok továbbítása (például kérésazonosítók naplózáshoz).
- A hívási lánc megszakításának biztosítása szükség szerint.
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 megszakadhat
result, err := doSomething(ctx)
if err == context.DeadlineExceeded {
fmt.Println("Művelet időkorlát miatt megszakadt")
}
Így a kontextus segít ellenőrizni a végrehajtást és adatokat cserélni az alkalmazás komponensei között.