golang返回多个go程数据
在主go程中分别启动两个go程调用各自方法,但返回不了数据
ctx := context.Background()
Chan1 := make(chan *FundInfo.StructFundInfo)
Chan2 := make(chan *FundInfo.StructFundTradeLimit)
go func() {
res1, err1 := client.GetFundInfo(ctx, fundcode)
fmt.Println("1111111111:", err1)
Chan1 <- res1
}()
go func() {
res2, err2 := client.GetFundTradeLimitInfo(ctx, fundcode)
fmt.Println("2222222222:", err2)
Chan2 <- res2
}()
value1 := <- Chan1
value2 := <- Chan2
log.Println("1111111111111111111", value1)
log.Println("2222222222222222222", value2)
返回结果如下:
而当一个方法普通调用,一个启动go程调用,是没问题的,两个方法都能返回各自数据。
希望哪位大神能解释下。谢谢。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
看到你这里是第一个
go
和 第二个go
都返回了 错误.1: connection reset by peer
2: EOF
表现都为tcp连接断开
因此
res1
和res2
都为<nil>
.通道接收的值也为nil
发生错误的原因在于连接断开没有返回数据,请在这里多多debug查找。