参考博客:
Go语言的模板引擎
func f1(w http.ResponseWriter, r *http.Request) {
//定义一个函数smile
//这个函数要么只有一个返回值,要么有俩返回值且第二个返回值必须是error类型
smile := func (name string)(string, error) {
return name + "you make me smile!", nil
}
t := template.New("f.tmpl") //创建一个名字是f的模板对象
// 告诉模板引擎 我现在有一个自定义的函数smile 注意自定义函数必须在解析模板之前
t.Funcs(template.FuncMap{
"smile": smile,
})
//解析模板
_, err := t.ParseFiles("./f.tmpl")
if err != nil {
fmt.Printf("parse template failed, err:%v\n", err)
return
}
name := "夜愿"
t.Execute(w, name)
}
func main() {
http.HandleFunc("/", f1)
err := http.ListenAndServe(":9090", nil)
if err != nil {
fmt.Println("Http server failed, err:", err)
return
}
}