Golang Templates
Golang Template 今天来讲讲 golang 中的标准库 template, Go 标准库提供了几个 package 可以产生输出结果,主要有 2 个:text/template 和 html/template, text/template 提供根据模板输出内容,html/template 产生安全的 HTML 的输出,这两个库的使用方式很相似,文中的例子大部分是基于 html/template 展示的。 解析和创建模板 模板命名 template 所使用的库没有限定扩展名,但最经常使用的后缀是 .tmpl, 编辑器对.tmpl 的支持最好,官方的例子也是使用 .tmpl, .tpl 也经常使用。 创建模板 通过 Parse 方法可以创建文件名为名字的模板。 package main import ( "fmt" "html/template" "log" ) func main() { tpl, err := template.New("index").Parse("index.tmpl") if err != nil { log.Fatalln(err) } } 解析多个模板 通过 template.ParseFiles(filenames …string) 方法可以解析一组模板,使用各个文件名作为模板名称。 template.ParseGlob(pattern) 方法会根据 pattern 解析所有匹配的模板并保存。 package main import "html/template" func main() { template.ParseFiles("index.tmpl", "index2.tmpl") } 解析字符串模板 除了可以解析文件,还可以解析字符串模板。 ...