为了账号安全,请及时绑定邮箱和手机立即绑定

关闭频道。

关闭频道。

Go
呼如林 2021-09-10 10:58:33
我根据以下示例创建了一个简单的通道来发出异步 HTTP 请求:http://matt.aimonetti.net/posts/2012/11/27/real-life-concurrency-in-go/一旦所有请求都完成,关闭通道的最佳模式是什么?type HttpRequest struct {    url        string}type HttpResponse struct {    request  HttpRequest    response *http.Response    err      error}func asyncHttpGets(requests []HttpRequest) {    ch := make(chan *HttpResponse)    for _, request := range requests {        go func(url string) {            resp, err := http.Get(url)            ch <- &HttpResponse{request, resp, err}        }(request.url)    }    for {        select {        case r := <-ch:            processResponse(r)        }    }}

添加回答

代码语言

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号