假设我解析某种输入与以下三种方法:同步信道?
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 2012-01-15 21:59:02
好的,完成了。显然,你可以把这个稍微提高一点。例如,您可能想要将通道存储在数组中。 – snim2 2012-01-15 22:55:42
非常感谢= = – thwd 2012-01-15 23:15:44