Loading... # template模板使用 包名:`"html/template"` ## 一、入门示例 (1)server端代码: ``` package main import ( "html/template" "log" "net/http" ) func main() { http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) { t, err := template.ParseFiles("tpl/hello.html") //创建一个模板 if err != nil { fmt.Print(err) return } user := map[string]string{ "Name": "你好", } e := t.Execute(w, user) //执行模板,并通过w输出 if e != nil { panic(e.Error()) } }) log.Fatal(http.ListenAndServe(":9090", nil)) } ``` (2)html文件代码: ``` <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Hello</title> </head> <body> <p>Hello {{.Name}}</p> </body> </html> ``` (3)访问`127.0.0.1:9090`显示的结果: ![avatar](http://type.zimopy.com/usr/uploads/2023/02/2925932279.png) ## 二、模板语法 ### 1、渲染数据本身 `{{.}}`表示渲染当前对象 exp: (1)server关键代码 ``` t, _ := template.ParseFiles("/hello.html") e := t.Execute(w, "你好") ``` (2)html关键代码 ``` <body> <p>Hello {{.}}</p> </body> ``` ### 2.条件判断 ``` {{if 条件}} T1 {{end}} {{if 条件}} T1 {{else}} T0 {{end}} {{if 条件}} T1 {{else if 条件}} T0 {{end}} ``` exp: (1)server关键代码 ``` t, _ := template.ParseFiles("/hello.html") e := t.Execute(w, 22) ``` (2)html关键代码 ``` <body> <p>Hello</p> {{if eq . 22}} 22 {{else}} 33 {{end}} </body> ``` ### 3.比较函数 ``` eq 如果arg1 == arg2则返回真 ne 如果arg1 != arg2则返回真 lt 如果arg1 < arg2则返回真 le 如果arg1 <= arg2则返回真 gt 如果arg1 > arg2则返回真 ge 如果arg1 >= arg2则返回真 ``` 最后修改:2023 年 02 月 19 日 © 允许规范转载 打赏 赞赏作者 支付宝微信 赞 如果觉得我的文章对你有用,请随意赞赏