goQuery 选择有点迷失

A little bit lost with goQuery selection

我是 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() 但它不起作用。我考虑过制作一个 returns 字符串的函数,但我不确定这是否可行。

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

问题是 .Each returns 原来的 *goquery.Selection 这样就可以链式调用了。如果需要获取字符串值,直接赋值即可,像这样:

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