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()
})
我是 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()
})