Sobes.tech
Senior

¿Has utilizado contextos en la práctica? Cuéntame.

sobes.tech AI

Respuesta de la IA

Sí, he utilizado regularmente contextos en Go, especialmente para gestionar el tiempo de ejecución y cancelar operaciones en solicitudes de red y goroutines. El contexto permite transmitir señales de cancelación y límites de tiempo a través de la cadena de llamadas, lo que ayuda a evitar fugas de goroutines y controlar el tiempo de ejecución.

Ejemplo de uso:

ctx, cancel := context.WithTimeout(context.Background(), 2*time.Second)
defer cancel()

select {
case <-time.After(3 * time.Second):
    fmt.Println("operación completada")
case <-ctx.Done():
    fmt.Println("operación cancelada o agotada")
}

De esta manera, si la operación tarda más de 2 segundos, será interrumpida, lo que aumenta la robustez y la capacidad de respuesta de la aplicación.