Sobes.tech
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.