Sobes.tech
Junior — Middle

Cum să organizezi citirea simultană a datelor din mai multe canale?

sobes.tech AI

Răspuns de la AI

Pentru citirea simultană din mai multe canale în Go, se folosește de obicei operatorul select. Acesta permite așteptarea mai multor canale în același timp și reacția la primul care devine disponibil.

Exemplu:

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

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

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

Astfel, select permite procesarea eficientă a datelor din mai multe surse fără blocare.