Middle+
Peut-on mettre une structure dans le contexte via context.WithValue ?
sobes.tech IA
Réponse de l'IA
Oui, en Go, vous pouvez placer une structure dans le contexte à l'aide de context.WithValue. Cependant, il est important de se rappeler que le contexte est destiné à transmettre des données liées à la requête, telles que les délais d'attente, les délais et les métadonnées, et non pour transmettre de grandes structures ou des structures modifiables.
Exemple:
type User struct {
ID int
Name string
}
ctx := context.Background()
user := &User{ID: 1, Name: "Alice"}
ctx = context.WithValue(ctx, "user", user)
// Extraction
u, ok := ctx.Value("user").(*User)
if ok {
fmt.Println(u.Name)
}
Il est recommandé d'utiliser des types de clés qui ne entrent pas en conflit avec d'autres packages, par exemple, des types de clés propres, pour éviter les collisions.