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}}