Sobes.tech
Junior — Middle

Avez-vous déjà utilisé la fonction context.WithValue dans votre code?

sobes.tech IA

Réponse de l'IA

Oui, la fonction context.WithValue en Go est utilisée pour transmettre des valeurs dans le contexte d'exécution, généralement pour transmettre des données entre des fonctions et des goroutines sans modifier la signature des fonctions.

Il est important de se rappeler que le contexte est destiné à transmettre des informations liées à la gestion du cycle de vie (par exemple, délais d'attente, annulations), et non à transmettre de grands volumes de données ou des paramètres.

Exemple d'utilisation :

ctx := context.Background()
ctx = context.WithValue(ctx, "userID", 12345)

func process(ctx context.Context) {
    userID := ctx.Value("userID")
    fmt.Println("ID utilisateur :", userID)
}

process(ctx)

Ainsi, context.WithValue aide à transmettre des données supplémentaires dans la chaîne d'appels, tout en conservant la possibilité d'annuler et de définir des délais d'attente.