Select 语句

1. 定义

select 用于同时监听多个 Channel 操作,并在其中一个可执行时进入对应分支。

2. 典型用途

  • 监听多个消息源
  • 处理超时与取消
  • 避免阻塞等待单一 Channel

3. 基本示例

select {
case msg := <-ch1:
    _ = msg
case ch2 <- 1:
default:
}

4. 关注重点

  • default 分支的非阻塞语义
  • 配合 time.After 实现超时
  • 在循环中处理退出信号

5. 相关链接