要么我失去理智,我不理解指针数组,要么库被破坏了。也许你可以帮忙。下面的代码似乎可以很好地获取 Atom 项目,但是查看它们的标题时会返回为空字符串。(这恰好是通过 http 实现的,我认为这不是问题,但当然一切皆有可能。)package mainimport ( "fmt" rss "github.com/jteeuwen/go-pkg-rss" "net/http" "os")var items []*rss.Itemvar channels []*rss.Channelfunc hello(w http.ResponseWriter, r *http.Request) { feed := rss.New(5, true, chanHandler, itemHandler) url := "http://stackoverflow.com/feeds" feed.Fetch(url, nil) fmt.Printf("Sent fetch for %s\n", url) fmt.Fprintf(w, "There are %d items in %s\n\n", len(items), url) for key, value := range items { fmt.Fprintf(w, "%d: %s\n\n", key, value.Title) }}func main() { http.HandleFunc("/", hello) http.ListenAndServe(":"+os.Getenv("PORT"), nil)}func chanHandler(feed *rss.Feed, newchannels []*rss.Channel) { channels = newchannels}func itemHandler(feed *rss.Feed, ch *rss.Channel, newitems []*rss.Item) { items = newitems}
3 回答
holdtom
TA贡献1805条经验 获得超10个赞
你的代码也不适合我。虽然获取的记录数是正确的,但记录本身没有价值。随意在项目的 github 页面上提交问题。
另请注意,您将项目传输到 http 处理程序的方式在itemHandler
并发执行时存在数据竞争,并且不知道在 http 执行for
循环时是否调用它。最好为此使用频道!
- 3 回答
- 0 关注
- 185 浏览
添加回答
举报
0/150
提交
取消