1. go template
1.1. if 语法
golang 的模板也支持 if 的条件判断, 当前支持最简单的 bool 类型和字符串类型的判断
{{if .condition}}
{{end}}
当 condition 为 bool 类型的时候, 则为 true 表示执行, 当 condition 为 string 类型的时候, 则非空表示执行。
当然也支持 else, else if 嵌套
{{if .condition1}}
{{else if .contition2}}
{{end}}
假设我们需要逻辑判断, 比如与或、大小不等于等判断的时候, 我们需要一些内置的模板函数来做这些工作, 目前常用的一些内置模板函数有:
- not 非
{{if not .condition}}
{{end}}
- and 与
{{if and .condition1 .condition2}}
{{end}}
- or 或
{{if or .condition1 .condition2}}
{{end}}
- eq 等于
{{if eq .var1 .var2}}
{{end}}
- ne 不等于
{{if ne .var1 .var2}}
{{end}}
- lt 小于 (less than)
{{if lt .var1 .var2}}
{{end}}
- le 小于等于
{{if le .var1 .var2}}
{{end}}
- gt 大于
{{if gt .var1 .var2}}
{{end}}
- ge 大于等于
{{if ge .var1 .var2}}
{{end}}