当我在Go中使用select时,我可以听多少个案例?是否有上限,例如10k?过多的案件会带来有害影响吗?
答案 0 :(得分:2)
不,没有实际的上限。
答案 1 :(得分:1)
我不相信有。但是,select
必须在编译时显式写入,因此除非您计划自动生成该select语句的代码,否则编写起来会很痛苦。如果你有一个很大的频道列表需要选择,你应该尝试这样做:
for {
for _, c := range channels {
select {
case val := <-c:
// code...
default:
// code...
}
}
}