Sobes.tech
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.