***我加了default应该不会执行go enqueue(chann)这个函数,因为没有default字句,select将阻塞,然而并不是我想的那样***
```go
package main
import (
"fmt"
"time"
)
func main() {
chann := make(chan int)
go enqueue(chann)
for {
select {
case v, ok := <-chann:
if ok {
fmt.Println(v)
} else {
fmt.Println("close")
return
}
default:
//fmt.Println("waiting")
}
}
}
func enqueue(chann chan int) {
time.Sleep(3 * time.Second)
chann <- 1
close(chann)
}
```
有疑问加站长微信联系(非本文作者)