Junior — Middle
Můžete vysvětlit, k čemu slouží funkce context.WithValue v Go a jak funguje?
sobes.tech AI
Odpověď od AI
Funkce context.WithValue v Go se používá k vytvoření nového kontextu, který obsahuje pár klíč-hodnota. To umožňuje předávat další data přes řetězec volání, aniž by se měnily podpisy funkcí.
Funguje takto: zadáte původní kontext, klíč a hodnotu, a získáte nový kontext, ze kterého lze tuto hodnotu získat pomocí context.Value(key).
Pří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žívat unikátní typy klíčů, aby nedocházelo ke konfliktům, například definováním vlastního typu pro klíče.