Junior — Middle
Kaip organizuoti kelių kanalų duomenų vienalaikį skaitymą?
sobes.tech AI
Atsakymas iš AI
Go kalboje dažniausiai naudojamas select operatorius, kai norima vienu metu skaityti iš kelių kanalų. Jis leidžia laukti kelių kanalų ir reaguoti į pirmą, kuris taps prieinamas.
Pavyzdys:
ch1 := make(chan int)
ch2 := make(chan int)
go func() { ch1 <- 1 }()
go func() { ch2 <- 2 }()
select {
case msg1 := <-ch1:
fmt.Println("Gauta iš ch1:", msg1)
case msg2 := <-ch2:
fmt.Println("Gauta iš ch2:", msg2)
}
Taip select leidžia efektyviai apdoroti duomenis iš kelių šaltinių be blokavimo.