私は、次の3つの方法で入力のいくつかの種類を解析していたとします同期チャネル?
func parseHeader ([]byte) []byte
func parseBody ([]byte) []byte
func parseFooter ([]byte) []byte
彼らはすべて同じ入力の特定の部分を解析し、[]byte
としてそれを返すので、彼らはこのように使用することができます。
i := []byte(/* the input */)
b := new(bytes.Buffer)
b.Write(parseHeader(i))
b.Write(parseBody(i))
b.Write(parseFooter(i))
ここでは、これらの3つのプロセスをチャネルを使用して並列化したいと考えています。私の考えは、これらの関数にチャネルを渡して書き込みをすることでしたが、どうすれば正しい順序でチャネルに書き込むことができますか?(すなわち体が体の後、ヘッダーとフッター後チャネルに書き込まれていること)
私は3つのチャンネルを使ってどのようにできるのか教えてください。 =)それはすばらしいでしょう。 – thwd
OK、完了です。明らかに、あなたはこれをちょっと元気にすることができます。たとえば、チャネルを配列に格納することができます。 – snim2
ありがとう=] – thwd