1

我是 Go 新手,我正在尝试通过制作一个转发机器人来学习它。无论如何,我遇到了一个我不知道如何解决的问题。

我有以下结构:

type Post struct {
    Title string
    Url   string
}

我正在尝试使用 goQuery 获取这些值,如下所示:

var title = doc.Find(".title.title.may-blank").Each(func(i int, s *goquery.Selection) {
        fmt.Println("Title:", s.Text())
})

但是当我尝试将值设置为 Post 结构时,我得到了这个错误:

cannot use title (type *goQuery.Selection) as type string in field value. 

好的,这是有道理的,但是我怎样才能把它转换成字符串呢?我试过 s.Text() 但它不起作用。我想过制作一个返回字符串的函数,但我不确定这是否可行。

如果有人可以帮助我,我将不胜感激,在此先感谢!

4

1 回答 1

2

问题是.Each返回原始*goquery.Selection文件,以便您可以链接调用。如果需要获取字符串值,直接赋值即可,如下所示:

var title string
doc.Find(".title.title.may-blank").Each(func(i int, s *goquery.Selection) {
    title = s.Text()
})
于 2020-06-02T16:17:47.397 回答