Sobes.tech
Junior — Middle

Jak zorganizovat současné čtení dat z několika kanálů?

sobes.tech AI

Odpověď od AI

V jazyce Go se pro současné čtení z více kanálů obvykle používá operátor select. Umožňuje čekat na více kanálů současně a reagovat na první, který se stane dostupným.

Příklad:

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

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

select {
case msg1 := <-ch1:
    fmt.Println("Přijato z ch1:", msg1)
case msg2 := <-ch2:
    fmt.Println("Přijato z ch2:", msg2)
}

Tímto způsobem select umožňuje efektivně zpracovávat data z více zdrojů bez blokování.