if
这些存在吗? 1.1.2不存在! 1.3存在.
eq Returns the boolean truth of arg1 == arg2 ne Returns the boolean truth of arg1 != arg2 lt Returns the boolean truth of arg1 < arg2 le Returns the boolean truth of arg1 <= arg2 gt Returns the boolean truth of arg1 > arg2 ge Returns the boolean truth of arg1 >= arg2
{{if a b}}
do something
{{end}}range
知道用$.来获取global
用法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部分。{{range $i := N 1 10}}
http://stackoverflow.com/questions/22713500/iterating-a-range-of-integers-in-go-templates
func N(start, end int) (stream chan int) {
stream = make(chan int)
go func() {
for i := start; i <= end; i++ {
stream <- i
}
close(stream)
}()
return
}
templ := `{{range $i := N 1 10}}
<div>{{$i}}</div>
{{end}}`
t := template.New("foo").Funcs(template.FuncMap{"N": N})and 是一个方法
{{if and 变量1 变量2}}
{{end}}自定义方法传参
{{ func param1 param2 }}
或
{{ (func param1 param2) }}pipeline/函数
用法1:
{{FuncName1}}
此标签将调用名称为“FuncName1”的模板函数(等同于执行“FuncName1()”,不传递任何参数)并输出其返回值。
用法2:
{{FuncName1 "参数值1" "参数值2"}}
此标签将调用“FuncName1("参数值1", "参数值2")”,并输出其返回值
用法3:
{{.Admpub|FuncName1}}
此标签将调用名称为“FuncName1”的模板函数(等同于执行“FuncName1(this.Admpub)”,将竖线“|”左边的“.Admpub”变量值作为函数参数传送)并输出其返回值。pipeline 嵌套
{{add $.pageInfo.CurPage | urlConcat $.url "page" }} 前面add 的值作为 urlConcat的最后一个参数, 也可以这样:
{{urlConcat $.url "page" (add $.pageInfo.CurPage)}} 用括号来分隔
life
life