Sobes.tech
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 msg1 := <-ch1:
    fmt.Println("ch1ден алынган:", msg1)
case msg2 := <-ch2:
    fmt.Println("ch2ден алынган:", msg2)
}

Мындайча айтканда, select көп булактан келген маалыматтарды натыйжалуу иштетүүгө мүмкүндүк берет, блоктогон жок.