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