Junior — Middle
Bir nechta oqim yoki kanallardan ma'lumotlarni bir vaqtning o'zida qanday o'qish mumkin?
sobes.tech AI
AIdan javob
Go tilida, bir nechta kanaldan bir vaqtning o'zida o'qish uchun select operatoridan foydalaniladi. Bu, bir nechta kanaldan ma'lumot kutishga va birinchisi mavjud bo'lganda unga javob berishga imkon beradi.
Misol:
ch1 := make(chan int)
ch2 := make(chan int)
go func() { ch1 <- 1 }()
go func() { ch2 <- 2 }()
select {
case val := <-ch1:
fmt.Println("ch1 dan olingan:", val)
case val := <-ch2:
fmt.Println("ch2 dan olingan:", val)
}
Shunday qilib, select kanallardan ma'lumotlar bo'lsa, bloklanadi va mos keladigan case bajariladi. Bu, bir vaqtning o'zida bir nechta ma'lumot oqimlarini samarali boshqarishga imkon beradi.