通常select中,只是随机选择一个可用chan,处理完了之后就往下执行,如果没有一个循环,这个select不会再执行了。既然只是执行一次的非循环结构,也就不需要有break来跳出。因此我们在写下面的代码时,讲道理应该是break跳出for的。为什么还要加个tag?总感觉多次一举啊!!!????️
```go
for {
select {
case xxx:
break
default:
}
}
```
```go
for {
switch expr{
case 1:
// do something
...
}
}
```
break 的作用是跳出当前循环,类似于 switch ,里面的 break 只会跳出 switch 这个循环。
如果需要跳出多层循环,go 里面可以 break 加上标签,跳出标签对应的循环体。
#1