Junior — Middle
Puteți explica pentru ce este folosită funcția context.WithValue în Go și cum funcționează?
sobes.tech AI
Răspuns de la AI
Funcția context.WithValue în Go este utilizată pentru a crea un nou context care conține un cuplu cheie-valoare. Acest lucru permite transmiterea de date suplimentare prin lanțul de apeluri, fără a modifica semnăturile funcțiilor.
Funcționează astfel: furnizați contextul original, cheia și valoarea, și obțineți un nou context din care puteți extrage această valoare folosind context.Value(key).
Exemplu:
ctx := context.Background()
ctxWithValue := context.WithValue(ctx, "userID", 42)
userID := ctxWithValue.Value("userID")
fmt.Println(userID) // Va afișa: 42
Este important să folosiți tipuri unice de chei pentru a evita conflictele, de exemplu, definind un tip propriu pentru chei.