有人可以帮我理解如何解释函数返回中的以下代码行 - (_, _ <-chan interface{})
我知道该函数返回两个通道。但是我不明白它是如何使用以下(_,_ <-chan interface{})实现的。如果我只是将它换成 (<-chan interface{}, <-chan interface{}) 有什么区别?
tee := func(
done <-chan interface{},
in <-chan interface{},
) (_, _ <-chan interface{}) {
out1 := make(chan interface{})
out2 := make(chan interface{})
go func() {
defer close(out1)
defer close(out2)
for val := range orDone(done, in) {
var out1, out2 = out1, out2
for i := 0; i < 2; i++ {
select {
case <-done:
case out1 <- val:
out1 = nil
case out2 <- val:
out2 = nil
}
}
}
}()
return out1, out2
}`
慕尼黑的夜晚无繁华
慕的地6264312
相关分类