Junior — Middle
Pouvez-vous expliquer à quoi sert la fonction context.WithValue en Go et comment elle fonctionne?
sobes.tech IA
Réponse de l'IA
La fonction context.WithValue en Go est utilisée pour créer un nouveau contexte contenant une paire clé-valeur. Cela permet de transmettre des données supplémentaires à travers la chaîne d'appels sans modifier la signature des fonctions.
Elle fonctionne ainsi : vous fournissez le contexte d'origine, la clé et la valeur, et vous obtenez un nouveau contexte à partir duquel vous pouvez extraire cette valeur avec context.Value(key).
Exemple :
ctx := context.Background()
ctxWithValue := context.WithValue(ctx, "userID", 42)
userID := ctxWithValue.Value("userID")
fmt.Println(userID) // Affichera : 42
Il est important d'utiliser des types de clés uniques pour éviter les conflits, par exemple en définissant un type propre pour les clés.