在 Go 语言中,select 语句用于处理多个 channel 的发送和接收操作。通过 select 语句可以实现在多个 channel 上等待,哪个 channel 先就绪就处理哪个。
select 语句的基本语法如下:
select {
case <-ch1:
// 从 ch1 中接收到数据
case x := <-ch2:
// 从 ch2 中接收到数据,并存储到变量 x 中
case ch3 <- y:
// 向 ch3 中发送数据 y
default:
// 所有 channel 都没有就绪
}