语法
- 格式: {{ 模板表达式 }}
- 注释格式: {{}}
- {{.字段名}}
- {{.字段名1.字段名2}}
减号
- 在左边增加减号和空格,表示删除左边空格: {{- 模板表达式 }}
- 在右边增加空格和减号,表示删除右边空格: {{ 模板表达式 -}}
- 删除表达式左右两边空格的写法: {{- 模板表达式 -}}
变量
定义变量
$title := "标题"
为变量赋值, 第二次为变量赋值,不需要冒号:
$title = "新标题"
引用变量
{{$title}}
流程
if
{{if 表达式}} T1 {{end}}
{{if 表达式}} T1 {{else}} T0 {{end}}
{{if 表达式1}} T1 {{else if 表达式2}} T0 {{end}}
range
titles := []string{"标题1", "标题2", "标题3"}
{{range .}}
{{.}}
{{end}}
{{range $index, $element := 数组或者map的引用}}
索引: {{$index}}
元素值: {{$element}}
{{end}}
with
user := User{Id:1001, UserName:"李大成"}
{{with .User}}
Id: {{.Id}}
Username: {{.UserName}}
{{end}}
模板
{{define "子模板名字"}}
模板内容
{{end}}
{{template "子模板名字" 参数}}
函数
关系运算函数
函数名 |
函数调用格式 |
对应关系运算 |
说明 |
eq |
eq arg1 arg2 |
arg1 == arg2 |
arg1等于arg2则返回true |
ne |
ne arg1 arg2 |
arg1 != arg2 |
arg1不等于arg2则返回true |
lt |
lt arg1 arg2 |
arg1 < arg2 |
arg1小于arg2则返回true |
le |
le arg1 arg2 |
arg1 <= arg2 |
arg1小于等于arg2则返回true |
gt |
gt arg1 arg2 |
arg1 > arg2 |
arg1大于arg2则返回true |
ge |
ge arg1 arg2 |
arg1 >= arg2 |
arg1大于等于arg2则返回true |
逻辑运算函数
函数名 |
函数调用格式 |
对应逻辑运算 |
说明 |
and |
and 表达式1 表达式2 |
表达式1 && 表达式2 |
表达式1和表达式2都为真的时候返回true |
or |
or 表达式1 表达式2 |
表达式1 或者 表达式2 |
表达式1和表达式2其中一个为真的时候返回true |
not |
not 表达式 |
!表达式 |
表达式为false则返回true, 反之返回false |