Junior — Middle
¿Puede explicar para qué se usa la función context.WithValue en Go y cómo funciona?
sobes.tech AI
Respuesta de la IA
La función context.WithValue en Go se utiliza para crear un nuevo contexto que contiene un par clave-valor. Esto permite pasar datos adicionales a través de la cadena de llamadas sin modificar las firmas de las funciones.
Funciona así: proporcionas el contexto original, la clave y el valor, y obtienes un nuevo contexto del cual puedes extraer ese valor usando context.Value(key).
Ejemplo:
ctx := context.Background()
ctxWithValue := context.WithValue(ctx, "userID", 42)
userID := ctxWithValue.Value("userID")
fmt.Println(userID) // Imprimirá: 42
Es importante usar tipos de claves únicos para evitar conflictos, por ejemplo, definir un tipo propio para las claves.