Junior — Middle
Можете ли објаснити зашто се користи функција context.WithValue у Go-у и како она ради?
sobes.tech АИ
Одговор од АИ
Funkcija context.WithValue u Go se koristi za kreiranje novog konteksta koji sadrži par ključ-vrednost. Ovo omogućava prenos dodatnih podataka kroz lanac poziva, bez menjanja potpisa funkcija.
Radi ovako: pružate originalni kontekst, ključ i vrednost, i dobijate novi kontekst iz kojeg možete izvući tu vrednost pomoću context.Value(key).
Primer:
ctx := context.Background()
ctxWithValue := context.WithValue(ctx, "userID", 42)
userID := ctxWithValue.Value("userID")
fmt.Println(userID) // Ispisaće: 42
Važno je koristiti jedinstvene tipove ključeva da biste izbegli konflikte, na primer, definišući sopstveni tip za ključeve.