golang中的select用法
早期的select函数是用来监控一系列的文件句柄,一旦其中一个文件句柄发生IO操作,该select调用就会被返回。golang在语言级别直接支持select,用于处理异步IO问题。 select用法同switch类似,如下: timeout := make (chan bool, 1)ch := make(chan int) select { case <-ch: case <-timeout: fmt.Println("timeout!") default: fmt.Println("default case is running") } 可以看出,ch初始化后,case1读取失败,timeout同样失败,因为channel中无数据,直接跳至default执行并返回。 注意,如果没有def...阅读全文