问答详情
源自:4-1 网络版外部排序

一个实在想不通的问题

这里为什么不行啊??

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
}


提问者:weixin_慕少9234343 2019-09-04 16:51

个回答

  • weibo_研究所俄罗斯_0
    2019-12-27 10:45:25

    兄弟你这个就离谱

  • 飘荡着呢
    2019-11-07 22:25:48

    同问 为什么不直接return ReaderSource(buffio.NewReader(conn), -1)呢?

  • 慕丝8833399
    2019-10-27 13:19:21

    go func 执行前直接返回了out,外部调用使用out接数据,外部不知道readersource返回的channel,所以拿到了readersource返回的channel,导入到out。