模板变量传递(data为模板变量) template.Execute(wr, data) 模板变量使用 {{.}} {{.Name}} 去除空白 {{-空格 去掉左边的空白字符 空格-}} 去掉右边的空白字符 注释 {{/* */}} {{- /* 会把两边的空白字符都去掉的注释 */ -}} 动作(Action) {{pipeline}} 输出pipeline {{if pipeline}} A {{end}} 当pipeline的值是0、false、nil、空数组、空切片、空map、空字符串时输出 A {{if pipeline}} A {{else}} B {{end}} {{if pipeline}} A {{else if pipeline}} B {{end}} {{range pipeline}} A {{end}} {{template "name"}} {{template "name" pipeline}} {{block "name" pipeline}} T1 {{end}} 定义一个模板并引入,等于 {{define "name"}} T1 {{end}} {{template "name" pipeline}} {{with pipeline}} T1 {{end}} 将pipeline的值赋值给. {{with pipeline}} T1 {{else}} T0 {{end}} 参数(argument) 常量,类型支持 boolean, string, char, int, float, imag, complex 关键字 nil 点 . 变量名 $varname 结构属性 .Field map的元素值 .Key 无参方法 .Method 无参函数 funcname 小括号分隔多个函数、方法 print (.F1 arg1) (.F2 arg2) pipeline 参数 .Method 参数... Func 参数... 支持多个之间使用 | 连接,前一个pipeline的结果作为后一个pipeline的最后参数 变量 $varname := pipeline 定义 $varname = pipeline 重新赋值 range $index, $element := pipeline 最初的模板变量会赋给 $ 函数 and 例 and x y 等于 if x then y eles x call 将第一个参数当作函数调用 call .X.Y 1 2 等于 .X.Y(1, 2),Y是个函数类型字段 html 返回html转义后的内容(html/template包不可用) index 将第二个参数开始的所有参数当成是第一个参数的索引返回值,例 index x 1 2 3 等于 x[1][2][3] slice 切片操作 slice x 等于 slice [:],slice x 1 等于 x[1:],slice x 1 3 等于 x[1:3] js 返回js转义后的 len 返回长度 not 返回非值 or 或,ox x y 等于 if x then x else y printf 等于 fmt.Srintf printf 等于fmt.Sprintf println 等于fmt.Sprintln urlquery 返回url编码后的内容(html/template包不可用) 二元函数 eq 等于 ne 不等于 lt 小于 le 小于等于 gt 大于 ge 大于等于 嵌套模板定义 `{{define "T1"}}ONE{{END}}`