Junior — Middle
W jaki sposób odbywa się konfiguracja kontekstu w systemie?
sobes.tech AI
Odpowiedź od AI
W Go, kontekst (context.Context) jest używany do przekazywania informacji o czasie życia, anulowaniu operacji i innych istotnych danych między gorutynami i funkcjami. Konfiguracja kontekstu zazwyczaj odbywa się za pomocą funkcji context.WithCancel, context.WithTimeout, context.WithDeadline i context.WithValue.
Przykład tworzenia kontekstu z limitem czasu i przekazywania wartości:
ctx := context.Background()
ctx, cancel := context.WithTimeout(ctx, time.Second*5)
defer cancel()
ctx = context.WithValue(ctx, "userID", 12345)
// Później ctx jest przekazywany do funkcji, które mogą anulować operację z powodu limitu czasu lub uzyskać userID
W ten sposób konfiguracja kontekstu polega na tworzeniu nowego kontekstu na podstawie rodzica z odpowiednimi parametrami (anulowanie, limit czasu, wartości).