
[英]How to render HTML with golang data in golang gin web frame?
[英]golang html.Node.Data container no human characters
我从 go 编程语言书中复制了以下代码,但我的 output 与书中的代码不同,代码如下:
import (
"fmt"
"os"
"golang.org/x/net/html"
)
func main() {
doc , err := html.Parse(os.Stdin)
if err != nil {
fmt.Fprintf(os.Stderr, "findlinks1: %v\n", err)
os.Exit(1)
}
for _ , link := range visit([]string{} ,doc) {
fmt.Println(link);
}
}
func visit(links []string , n *html.Node) []string {
if n.Type == html.ElementNode && n.Data == "a"{
for _,a := range n.Attr {
if a.Key == "href" {
links = append(links , a.Val)
}
}
}
for c := n.FirstChild ; c != nil ; c = c.NextSibling {
visit(links,c)
}
return links
}
the data obtained from stdin is in fact the output of another prog that brings the html of a web page the image below shows its output: 我在访问开始时添加了一个 printf 以查看发生了什么,但我发现 n.Data 不包含标签名称,而是包含一个不可读字符的分支任何帮助???
该程序不起作用,因为在 function 访问期间复制了 links 变量确实,这个新副本指向相同的底层数组,但分配给它的任何更改都不会影响原始所以在行
visit(links,c) must be links = visit(links,c)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.