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