Junior — Middle
Көптөгөн агымдардан же каналдардан маалыматтарды бир убакта кантип окууга болот?
sobes.tech AI
AIден жооп
Go тилинде, бир убакта бир нече каналдан окуу үчүн select оператору колдонулат. Ал бир нече каналдан маалымат күтүүгө жана биринчи жеткиликтүү болгонго реакция кылууга мүмкүндүк берет.
Мисал:
ch1 := make(chan int)
ch2 := make(chan int)
go func() { ch1 <- 1 }()
go func() { ch2 <- 2 }()
select {
case val := <-ch1:
fmt.Println("ch1ден алынган:", val)
case val := <-ch2:
fmt.Println("ch2ден алынган:", val)
}
Мындайча, select блоктолот, бир каналга маалымат келгенге чейин, жана андан кийин тиешелүү учур ишке ашырылат. Бул көптөгөн маалымат агымдарын бир убакта эффективдүү иштетүүгө мүмкүндүк берет.