golang的模板处理Parse与ParseFiles写法区别
发布时间:2020-12-16 19:11:49 所属栏目:大数据 来源:网络整理
导读:golang可以选择从 字符串 或 文件 来获得模板。 字符串通过Parse函数 文件通过ParseFiles函数 两者写法有些区别,容易混淆,笔者趟了半天的坑,特此做个总结。 package mainimport ( "html/template" "os" "log" "fmt")var tplString=`!DOCTYPE htmlhtmlhead
golang可以选择从字符串或文件来获得模板。 package main import ( "html/template" "os" "log" "fmt" ) var tplString=` <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>{{.Title}}</title> </head> <body> </body> </html> ` type Data struct { Title string } func checkErr(err error) { if err != nil { log.Println(err) } } func ParseString(data Data) { var err error var t *template.Template t = template.New("Products") //创建一个模板 t,err = t.Parse(tplString) checkErr(err) err = t.Execute(os.Stdout,data) checkErr(err) } func ParseFileWrong(data Data) { var err error var t *template.Template t = template.New("Products") //创建一个模板 t,err = t.ParseFiles("tpl.html") checkErr(err) err = t.Execute(os.Stdout,data) checkErr(err) } func ParseFile(data Data) { var err error var t *template.Template t,err = template.ParseFiles("tpl.html") //从文件创建一个模板 checkErr(err) err = t.Execute(os.Stdout,data) checkErr(err) } func main() { data:=Data{Title:"夕阳西下"} fmt.Println("-----第一种----") ParseString(data) fmt.Println("-----第二种(错误)----") ParseFileWrong(data) fmt.Println("-----第三种----") ParseFile(data) }
输出结果如下:
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |