Sobes.tech
Junior — Middle

Comment organiser la lecture simultanée de données à partir de plusieurs canaux?

sobes.tech IA

Réponse de l'IA

Pour lire simultanément à partir de plusieurs canaux en Go, on utilise généralement l'opérateur select. Il permet d'attendre plusieurs canaux en même temps et de réagir au premier qui devient disponible.

Exemple:

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

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

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

Ainsi, select permet de traiter efficacement les données provenant de plusieurs sources sans blocage.