Junior — Middle
¿Alguna vez ha utilizado la función context.WithValue en su código?
sobes.tech AI
Respuesta de la IA
Sí, la función context.WithValue en Go se utiliza para pasar valores en el contexto de ejecución, generalmente para transmitir datos entre funciones y goroutines sin cambiar la firma de las funciones.
Es importante recordar que el contexto está destinado a transmitir información relacionada con la gestión del ciclo de vida (por ejemplo, tiempos de espera, cancelaciones), y no para transmitir grandes volúmenes de datos o parámetros.
Ejemplo de uso:
ctx := context.Background()
ctx = context.WithValue(ctx, "userID", 12345)
func process(ctx context.Context) {
userID := ctx.Value("userID")
fmt.Println("ID de usuario:", userID)
}
process(ctx)
De esta manera, context.WithValue ayuda a transmitir datos adicionales en la cadena de llamadas, manteniendo la capacidad de cancelar y establecer tiempos de espera.