最後の課題らしく、コードは多め、解説は少なめ。今までのサンプルコードよりボリュームがあるので、まずはしっかり読んでみる。selectは、switchのようで違う、goroutine用の制御構造。あるので、selectのcaseにはchannelが必須ということでしょうか。Goのうりのひとつ、並行性。(ゴルーチン)は、Goのランタイムに管理される軽量なスレッドです。今回は長くなったので、io.Readerの課題のみ。