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