5.2.3 close & range
채널에 더 이상 전송할 값이 없으면 채널을 닫을 수 있다.
close(ch)
채널을 닫은 후에 메시지를 전송하면 에러가 발생한다.
채널의 수신자는 채널에서 값을 읽을 때 채널이 닫힌 상태인지 아닌지 두 번째 매개변수로 확인할 수 있다.
v, ok := <-ch
ok의 값이 false라면 채널에 더는 수신할 값이 없고 채널이 닫힌 상태이다.
for i := range c는 채널 c가 닫힐 때까지 반복하며 채널로부터 수신을 시도한다.
채널을 닫는 것은 필수가 아니다. 수신자가 채널에 더 이상 들어올 값이 없다는 것을 알아야 할 때만(예를 들면 range로 루프를 돌며 메시지를 읽어나갈 때) 채널을 닫아주면 된다.