Junior — Middle
Da li ste ikada koristili funkciju context.WithValue u svom kodu?
sobes.tech АИ
Одговор од АИ
Da, funkcija context.WithValue u Go jeziku koristi se za prenošenje vrednosti u izvršnom kontekstu, obično za prenos podataka između funkcija i gorutina bez promene potpisa funkcija.
Važno je zapamtiti da je kontekst namenjen za prenos informacija vezanih za upravljanje životnim ciklusom (npr. timeout-ovi, otkazivanja), a ne za prenos velikih količina podataka ili parametara.
Primer upotrebe:
ctx := context.Background()
ctx = context.WithValue(ctx, "userID", 12345)
func process(ctx context.Context) {
userID := ctx.Value("userID")
fmt.Println("ID korisnika:", userID)
}
process(ctx)
Na ovaj način, context.WithValue pomaže u prenošenju dodatnih podataka u lancu poziva, zadržavajući mogućnost otkazivanja i postavljanja timeout-ova.