比如
```gofunc
var c = make(chan int, 1)
func test() {
for {
tmp: <-c
fmt.Println("如果c是非阻塞,我会一直被循环打印")
}
}
func main() {
c<- 6 //这一步是往管道里写,是非阻塞的,因为设了缓冲
test() //那么从管道里读呢,能直接非阻塞吗,我意思是说即使把缓冲读完了,依旧要非阻塞
}
```
chan的数据结构体本身设计就是阻塞的,你要非阻塞的自己自定义一个结构就可以了;阻塞结构设计比非阻塞结构难。chan不是高级结构体是基础结构体,本身功能就要足够单一
#8