唯一のゴルーチンでメインゴルーチンと呼ぶ。io.Writerインターフェースを満たすため、io.WriteStringで直接書き出すことができる書き込みに失敗すると、ループを終了しCloseでそのコネクションを閉じるtime.Time.Formatメソッド任意の書式で時刻を出力することができるただし決まった時刻のテンプレートがあるので注意(time.Parseも同様)https://github.com/adonovan/gopl.io/blob/master/ch8/netcat1/netcat.go読み込み専用のTCPクライアントコネクションからデータを読み込み、EOFまたはエラーが発生するまで標準出力に書き込み続ける最初のclockサーバーに対して、↑のnetcatクライアントを2つ同時に起動しても、同時に1つしか時刻が出力されない。キーワードを付けて、独立したゴルーチンで動作するようにし、並行処理が行えるようにする。並行エコーサーバー8.2の時計サーバーでは1リクエストにつき1ゴルーチンを使用した。このエコーサーバーでは1リクエストにつき複数のゴルーチンを使うようにする。最初のエコー出力が終わるまで次のエコー出力は始まらない。部分にさらに追加する必要がある。並行に実行して大丈夫かどうか確認しなくてはならない。並行にメソッドを実行して平気だったが、多くの型では並行にメソッドを実行することは危険。次の章では並行性の安全性について重要なコンセプトについて見ていく。チャネルを閉じることができる。close(ch)閉じたチャネルに送信するとパニックが発生するが、閉じたチャネルからの受信は値がなくなるまで可能。makeだけで作られたチャネルは「バッファなしチャネル」となる。makeにチャネルの容量となる第二引数を付けて、1以上の容量を持つ場合は「バッファありチャネル」となる。パイプラインチャネルをゴルーチン間を接続し、あるゴルーチンの出力が他のゴルーチンの入力となるようにすることができる。これをパイプラインと呼ぶ。