第六节:channel的遍历和关闭 · Golang · 看云
[TOC]
## **一:channel的关闭**
使用内置函数close可以关闭channel,当channel关闭后,就不能在向channel写入数据了,但是任然可以从该channel读取数据

**运行结果**
```
panic: send on closed channel
goroutine 1 [running]:
main.main()
/Users/wang/go/src/awesomeProject/lianxi/main/channel_demo10_lianxi06.go:11 +0xb5
```
很显然不能写入了,报了panic: send on closed channel
**下面我们尝试读取**

**运行结果**
```
sum = 1000
sum1 = 100
```
<br>
<br>
## **二:channel的遍历**
channel支持for——range的方式进行遍历,请注意两个细节
* 在遍历时,如果channel没有关闭,则回出现deadlock的错误
* 在遍历时,如果channel已经关闭,则会正常遍历数据,遍历完后,就会退出遍历。
