Junior — Middle
Jakie elementy można uwzględnić w bieżącym kontekście wykonania programu?
sobes.tech AI
Odpowiedź od AI
W Go (Golang) aktualny kontekst wykonania programu jest zwykle reprezentowany przez typ context.Context. Służy do przekazywania informacji o stanie wykonania, anulowaniu operacji i limitach czasowych między gorutynami.
W kontekście można zawrzeć następujące elementy:
- Anulowanie (Cancellation) — sygnał, że operacja powinna zostać przerwana.
- Termin (Deadline) — czas, po którym operacja jest uznana za przeterminowaną.
- Wartości (Values) — pary klucz-wartość do przekazywania dodatkowych informacji (np. identyfikatory żądań, tokeny uwierzytelniania).
Przykład użycia:
ctx, cancel := context.WithTimeout(context.Background(), time.Second*5)
defer cancel()
ctx = context.WithValue(ctx, "requestID", "12345")
// Przekaż ctx do funkcji, które mogą sprawdzić anulowanie, termin lub uzyskać wartości
W ten sposób, kontekst zawiera metadane i zarządza cyklem życia operacji w programie.