Junior — Middle
Kun je variabelen doorgeven via de uitvoeringscontext?
sobes.tech AI
Antwoord van AI
In Go kan je via de context (context.Context) waarden doorgeven met behulp van de functie context.WithValue. Dit stelt je in staat om variabelen (sleutel-waarde) naar beneden door de aanroepketen te sturen, bijvoorbeeld voor het doorgeven van parameters, verzoek-ID's, enz.
Het is echter belangrijk om te onthouden:
- De context is bedoeld om gegevens te verzenden die gerelateerd zijn aan het verzoek of de operatie, niet voor het doorgeven van grote structuren of bedrijfslogica.
- Sleutels moeten uniek zijn en worden meestal gedefinieerd door typen of speciale sleuteltypen om conflicten te voorkomen.
Voorbeeld van het doorgeven van een waarde via de context:
ctx := context.Background()
ctx = context.WithValue(ctx, "userID", 42)
func doSomething(ctx context.Context) {
userID := ctx.Value("userID")
fmt.Println("Gebruikers-ID:", userID)
}
doSomething(ctx)
Dus, ja, variabelen kunnen via de context worden doorgegeven, maar met voorzichtigheid en volgens de aanbevolen praktijken.