Select 语句
1. 定义
select 用于同时监听多个 Channel 操作,并在其中一个可执行时进入对应分支。
2. 典型用途
- 监听多个消息源
- 处理超时与取消
- 避免阻塞等待单一 Channel
3. 基本示例
select {
case msg := <-ch1:
_ = msg
case ch2 <- 1:
default:
}4. 关注重点
default分支的非阻塞语义- 配合
time.After实现超时 - 在循环中处理退出信号
select 用于同时监听多个 Channel 操作,并在其中一个可执行时进入对应分支。
select {
case msg := <-ch1:
_ = msg
case ch2 <- 1:
default:
}default 分支的非阻塞语义time.After 实现超时