Sobes.tech
Junior — Middle

Kako organizovati istovremeno čitanje podataka iz više kanala?

sobes.tech АИ

Одговор од АИ

У Go-у, за истовремено читање из више канала, обично се користи оператор select. Он омогућава да се чека на више канала истовремено и да се реагује на први који постане доступан.

Пример:

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

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

select {
case msg1 := <-ch1:
    fmt.Println("Примљено из ch1:", msg1)
case msg2 := <-ch2:
    fmt.Println("Примљено из ch2:", msg2)
}

Овим се омогућава ефикасна обрада података из више извора без блокирања.