Junior — Middle
Heeft u ooit de functie context.WithValue in uw code gebruikt?
sobes.tech AI
Antwoord van AI
Ja, de functie context.WithValue in Go wordt gebruikt om waarden door te geven in de uitvoering context, meestal om gegevens tussen functies en goroutines over te dragen zonder de handtekening van functies te wijzigen.
Het is belangrijk om te onthouden dat de context bedoeld is om informatie te dragen die gerelateerd is aan het beheer van de levenscyclus (bijvoorbeeld time-outs, annuleringen), en niet voor het overdragen van grote hoeveelheden gegevens of parameters.
Voorbeeld van gebruik:
ctx := context.Background()
ctx = context.WithValue(ctx, "userID", 12345)
func process(ctx context.Context) {
userID := ctx.Value("userID")
fmt.Println("Gebruikers-ID:", userID)
}
process(ctx)
Op deze manier helpt context.WithValue om extra gegevens door te geven in de keten van oproepen, terwijl de mogelijkheid tot annulering en time-outs behouden blijft.