在Go中使用select时是否有上限?

时间:2014-08-20 02:21:32

标签: select go

当我在Go中使用select时,我可以听多少个案例?是否有上限,例如10k?过多的案件会带来有害影响吗?

2 个答案:

答案 0 :(得分:2)

不,没有实际的上限。

答案 1 :(得分:1)

我不相信有。但是,select必须在编译时显式写入,因此除非您计划自动生成该select语句的代码,否则编写起来会很痛苦。如果你有一个很大的频道列表需要选择,你应该尝试这样做:

for {
    for _, c := range channels {
        select {
        case val := <-c:
            // code...
        default:
            // code...
        }
    }
}