Sobes.tech
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).