Select的作用
select主要用于实现多路监听、实现超时处理
- select case后面必须是一个IO操作
- 一般情况下不用写default
select是Go中的一个控制结构,类似于switch语句,用于处理异步I0操作
如果有多个case都可以运行,select会随机选出一个执行,其他不会执行。
如果没有可运行的case语句,且有default语句, 那么就会执行default的动作。
如果没有可运行的case语句,且没有default语句, select将阻塞,直到某个case通信可以运
select {
case IO操作1:
I0操作1读取或写入成功就执行
case IO操作2:
IO操作2读取或写入成功就执行
default:
如果上面case都没有成功,则进入default处理流程
}