[golang]time.After 在select中使用的正确姿势(解决超时逻辑未生效bug)
前言select 的语法如下所示每个case都必须是一个通信
所有channel表达式都会被求值
所有被发送的表达式都会被求值
如果任意某个通信可以进行,它就执行;其他被忽略。
如果有多个case都可以运行,Select会随机公平地选出一个执行。其他不会执行。
否则:如果有default子句,则执行该语句。
如果没有default字句,select将阻塞,直到某个通信可以运行;Go不会重新对cha
原创
2017-01-23 19:34:25 ·
20959 阅读 ·
8 评论