这里为什么不行啊??
func NetworkSource(addr string) <-chan int {
out := make(<-chan int)
go func() {
conn, err := net.Dial("tcp",addr)
if err != nil {
panic(err)
}
// 原代码为何需要先得到 r ,再把r中的每一个数据传给 out, 为什么不能直接用out!
out = ReaderSource(bufio.NewReader(conn),-1)
}()
return out
}兄弟你这个就离谱
同问 为什么不直接return ReaderSource(buffio.NewReader(conn), -1)呢?
go func 执行前直接返回了out,外部调用使用out接数据,外部不知道readersource返回的channel,所以拿到了readersource返回的channel,导入到out。