golang 中select的三种用法

golang 中select的三种用法

1.超时处理

select {
    case str := <- resultChan:
        fmt.Println("receive str", str)
    case <- time.After(time.Second * 5): 
        fmt.Println("timeout!!")
}

 
 

2. 退出

select {
    case <- quitChan:
        cleanUp()
        return
    default:

}

 

3.判断channel是否阻塞

var ch chan int = make(chan int, 5)select {    case ch <- data:        fmt.Println("add success")       default:        //channel满了}

猜你喜欢

转载自blog.csdn.net/u010412301/article/details/85236364