转载地址:http://www.admpub.com/blog/post-221.html
129月2014
【模板标签】
模板标签用"{{"和"}}"括起来
【注释】
{{/* a comment */}}
使用“{{/*”和“*/}}”来包含注释内容
【变量】
{{.}}
{{.Admpub}}
当“Admpub”是匿名字段时,可以访问其内部字段或方法,比如“Com”:{{.Admpub.Com}} ,
{{.Method1 "参数值1" "参数值2"}}
{{$admpub}}
在模板中定义变量:变量名称用字母和数字组成,并带上“$”前缀,采用符号“:=”进行赋值。
比如:{{$x := "OK"}} 或 {{$x := pipeline}}
【管道函数】
@H_404_107@
用法1:
{{FuncName1}}
用法2:
{{FuncName1 "参数值1" "参数值2"}}
用法3:
{{.Admpub|FuncName1}}
【条件判断】
用法1:
{{if pipeline}} T1 {{end}}
标签结构:{{if ...}} ... {{end}}
用法2:
{{if pipeline}} T1 {{else}} T0 {{end}}
标签结构:{{if ...}} ... {{else}} ... {{end}}
用法3:
{{if pipeline}} T1 {{else if pipeline}} T0 {{end}}
标签结构:{{if ...}} ... {{else if ...}} ... {{end}}
【遍历】
用法1:
{{range $k,$v := .Var}} {{$k}} => {{$v}} {{end}}
range...end结构内部如要使用外部的变量,比如.Var2,需要这样写:$.Var2
(即:在外部变量名称前加符号“$”即可,单独的“$”意义等同于global)
用法2:
{{range .Var}} {{.}} {{end}}
用法3:
{{range pipeline}} T1 {{else}} T0 {{end}}
当没有可遍历的值时,将执行else部分。
【嵌入子模板】
用法1:
{{template "name"}}
用法2:
{{template "name" pipeline}}
将管道的值赋给子模板中的“.”(即“{{.}}”)
【子模板嵌套】
{{define "T1"}}ONE{{end}}
{{define "T2"}}TWO{{end}}
{{define "T3"}}{{template "T1"}} {{template "T2"}}{{end}}
{{template "T3"}}
输出:
ONE TWO
【定义局部变量】
用法1:
{{with pipeline}} T1 {{end}}
管道的值将赋给该标签内部的“.”。(注:这里的“内部”一词是指被{{with pipeline}}...{{end}}包围起来的部分,即T1所在位置)
用法2:
{{with pipeline}} T1 {{else}} T0 {{end}}
如果管道的值为空,“.”不受影响并且执行T0,否则,将管道的值赋给“.”并且执行T1。
【例子:输出字符窜】
{{"\"output\""}}
输出一个字符窜常量。
{{`"output"`}}
输出一个原始字符串常量
{{printf "%q" "output"}}
竖线“|”左边的结果作为函数最后一个参数。(等同于:printf("%q","output")。)