运行此代码时,我必须等待 10 秒才能打印 s.Locations,并等待 60 秒以上才能打印 n.Titles。是什么原因造成的?
有关如何解决此问题的提示会很有帮助,即查看完成某些代码行需要多长时间。Go 新手,所以不确定如何具体执行此操作。
我已确保关闭我的联系。由于我计算机上的其他所有内容加载速度都非常快,因此我认为通过 http.Get 访问互联网不会很慢。
package main
import (
"encoding/xml"
"fmt"
"io/ioutil"
"net/http"
"strings"
)
// SitemapIndex is the root xml
type SitemapIndex struct {
Locations []string `xml:"sitemap>loc"`
}
// News is the individual categories
type News struct {
Titles []string `xml:"url>news>title"`
Keywords []string `xml:"url>news>keywords"`
Locations []string `xml:"url>loc"`
}
// NewsMap is the
type 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 秒以上
相关分类