template库
text/template和html/template等模板包提供了一个将变量值填充到一个文本或HTML格式的模板的机制。
1 | const templ = `{{.Year}} {{.Month}} {{.Day}} : |
对于每一个action,都有一个当前值的概念,对应点操作符,写作“.”。当前值“.”最初被初始化为调用模板是的参数,|操作符表示将前一个表达式的结果作为后一个函数的输入,类似于UNIX中管道的概念
注意方法调用链的顺序:template.New先创建并返回一个模板;Funcs方法将自定义函数注册到模板中,并返回模板;最后调用Parse函数分析模板。1
2
3
4
5
6
7
8func Test(title string) string{
return fmt.Sprintf("%s",title)
}
tmpl, err := template.New("templateName").Funcs(template.FuncMap{"Function":Test}).Parse(templ)
or
tmpl, err := template.ParseFiles("templ.txt") //建立一个模板,这里不需要new("name")的方式,因为name自动为文件名
执行模板1
2err = tmpl.ExecuteTemplate(os.Stdout, "test", result) //指定模板名,这次为test
err = tmpl.Execute(os.Stdout, result) //模板名省略,打印的是当前模板
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 SHIELD!
评论