Golang 模板

beego的模板和text/template, html/template差不多.

注释

1
{{/* comment /*}}

变量

变量定义和使用

1
2
3
4
5
申明变量不会产生输出.
{{$Var := pipeline}}

使用
{{$Var}}

actions

range和with会修改dot的值:

1
{{.}}  当pipeline不为空,赋值给dot

if标签:

1
2
3
{{if pipeline}} T {{end}}
{{if pipeline}} T0 {{else}} T1 {{end}}
{{if pipeline}} T0 {{else if pipeline}} T1 {{end}}

range标签:

只能用于array/slice/map/channel

1
2
{{range pipeline}} T0 {{end}}
{{range pipeline}} T0 {{else}} T1 {{end}}

with标签:

1
2
{{with pipeline}} T0 {{end}}
{{with pipeline}} T0 {{else}} T1 {{end}}

define标签:

定义模板

1
2
3
{{define "name"}}
...
{{end}}

template标签:

调用模板

1
2
{{template "name"}}
{{template "name" pipeline}}

function

函数调用:

1
2
{{"output" | function}}
{{function "output"}}

预定义的全局函数:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
and
or
not
len
index
print
printf
println
html
urlquery
js
call