Junior — Middle
Bir nechta kanaldan ma'lumotlarni bir vaqtning o'zida o'qishni qanday tashkil qilish mumkin?
sobes.tech AI
AIdan javob
Go tilida bir nechta kanaldan bir vaqtning o'zida o'qish uchun odatda select operatori ishlatiladi. Bu bir nechta kanallardan kutishga va birinchi mavjud bo'lganiga javob berishga imkon beradi.
Misol:
ch1 := make(chan int)
ch2 := make(chan int)
go func() { ch1 <- 1 }()
go func() { ch2 <- 2 }()
select {
case msg1 := <-ch1:
fmt.Println("ch1 dan olingan:", msg1)
case msg2 := <-ch2:
fmt.Println("ch2 dan olingan:", msg2)
}
Shu tarzda, select bir nechta manbadan ma'lumotlarni bloklamasdan samarali tarzda ishlash imkonini beradi.