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

为什么我的代码需要这么长时间才能返回结果?

为什么我的代码需要这么长时间才能返回结果?

Go
翻阅古今 2023-07-10 10:58:03
运行此代码时,我必须等待 10 秒才能打印 s.Locations,并等待 60 秒以上才能打印 n.Titles。是什么原因造成的?有关如何解决此问题的提示会很有帮助,即查看完成某些代码行需要多长时间。Go 新手,所以不确定如何具体执行此操作。我已确保关闭我的联系。由于我计算机上的其他所有内容加载速度都非常快,因此我认为通过 http.Get 访问互联网不会很慢。package mainimport (    "encoding/xml"    "fmt"    "io/ioutil"    "net/http"    "strings")// SitemapIndex is the root xmltype SitemapIndex struct {    Locations []string `xml:"sitemap>loc"`}// News is the individual categoriestype News struct {    Titles    []string `xml:"url>news>title"`    Keywords  []string `xml:"url>news>keywords"`    Locations []string `xml:"url>loc"`}// NewsMap is thetype NewsMap struct {    Keywords string    Location string}func main() {    var s SitemapIndex    var n News    // np := make(map[string]NewsMap)    resp, _ := http.Get("https://www.washingtonpost.com/news-sitemaps/index.xml")    bytes, _ := ioutil.ReadAll(resp.Body)    xml.Unmarshal(bytes, &s)    resp.Body.Close()    for i := range s.Locations {        s.Locations[i] = strings.TrimSpace(s.Locations[i])    }    fmt.Println(s.Locations) // slice of data    for _, Location := range s.Locations {        resp, _ := http.Get(Location)        bytes, _ := ioutil.ReadAll(resp.Body)        xml.Unmarshal(bytes, &n)        resp.Body.Close()    }    fmt.Println(n.Titles)}我得到了输出,但 s.Locations 需要等待 10 秒,n.Titles 需要等待 60 秒以上
查看完整描述

目前暂无任何回答

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

添加回答

举报

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