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

关闭频道。

关闭频道。

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)        }    }}
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 168 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信