go 语言通过 parseFiles、parseGlob、parse 三个函数来解析模板 :
func ParseFiles(filenames ...string) (*Template, error)
功能 : 解析指定的一个或者多个模板,返回一个模板结构体,后续可被执行。
使用模式匹配来解析匹配的模板文件 :
package main
import (
"net/http"
"text/template"
)
func main() {
http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
template, _ := template.ParseGlob("./templates/*.html")
template.Execute(w, "hi ...")
})
http.ListenAndServe(":80", nil)
}
可以解析字符串模板,上面2个函数最终调用 parse()。
Must 函数可以包裹一个函数,返回到一个模板的指针 和 一个错误。如果错误不为 nil,那么就 panic。
参数是 ResponseWriter、数据,适用于 : 单模板
参数是 ResponseWriter、模板名称、数据,适用于 : 多模板