Junior — Middle
Môžete vysvetliť, na čo slúži funkcia context.WithValue v Go a ako funguje?
sobes.tech AI
Odpoveď od AI
Funkcia context.WithValue v Go sa používa na vytvorenie nového kontextu, ktorý obsahuje pár kľúč-hodnota. To umožňuje prenášať ďalšie údaje cez reťazec volaní, bez zmeny podpisov funkcií.
Funguje takto: zadáte pôvodný kontext, kľúč a hodnotu, a získate nový kontext, z ktorého môžete túto hodnotu získať pomocou context.Value(key).
Príklad:
ctx := context.Background()
ctxWithValue := context.WithValue(ctx, "userID", 42)
userID := ctxWithValue.Value("userID")
fmt.Println(userID) // Vypíše: 42
Je dôležité používať jedinečné typy kľúčov, aby nedochádzalo ku konfliktom, napríklad definovaním vlastného typu pre kľúče.