来自HTML.NewTokenizer.token()的意外HTML标记

来自HTML.NewTokenizer.token()的意外HTML标记,html,go,Html,Go,我试图列出在网页中找到的所有标记。核心在于功能 func find_links(httpBody io.Reader) []string { links := make([]string, 0) page := html.NewTokenizer(httpBody) for { tokenType := page.Next() if tokenType == html.ErrorToken { return lin

我试图列出在网页中找到的所有标记。核心在于功能

func find_links(httpBody io.Reader) []string {

    links := make([]string, 0)
    page := html.NewTokenizer(httpBody)
    for {
        tokenType := page.Next()
        if tokenType == html.ErrorToken {
            return links
        }
        token := page.Token()
        fmt.Println("Now token is ", token)
    }
}
当我打印输出时,我得到如下结果

Now token is  <body>
Now token is

Now token is  <header>
现在令牌已被激活
现在代币是
现在代币是
我不明白第二个令牌是什么,为什么它会打印一个额外的空行

工作示例的完整代码,即使由于缺少http包而无法在操场上运行,第二个标记是包含换行符的

将打印更改为

   fmt.Printf("Now token is %T %v\n", token, token)

查看令牌的类型。

看起来您正在将回车符匹配为令牌。(注意:绝对不了解围棋,所以我无法帮你解决)。这将解释第二行;但我还是不明白为什么我有一个空行