Sobes.tech
Junior — Middle

¿Cómo organizar la lectura simultánea de datos de varios canales?

sobes.tech AI

Respuesta de la IA

Para leer simultáneamente desde varios canales en Go, generalmente se usa el operador select. Permite esperar a varios canales a la vez y reaccionar al primero que esté disponible.

Ejemplo:

ch1 := make(chan int)
ch2 := make(chan int)

go func() { ch1 <- 1 }()
go func() { ch2 <- 2 }()

select {
case msg1 := <-ch1:
    fmt.Println("Recibido de ch1:", msg1)
case msg2 := <-ch2:
    fmt.Println("Recibido de ch2:", msg2)
}

De esta manera, select permite manejar datos de múltiples fuentes de manera eficiente sin bloqueo.