Sobes.tech
Junior — Middle

Ako zorganizovať súčasné čítanie dát z viacerých kanálov?

sobes.tech AI

Odpoveď od AI

V jazyku Go sa na súčasné čítanie z viacerých kanálov zvyčajne používa operátor select. Umožňuje čakať na viacero kanálov súčasne a reagovať na prvý, ktorý sa stane dostupným.

Príklad:

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

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

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

Týmto spôsobom select umožňuje efektívne spracovanie dát z viacerých zdrojov bez blokovania.