条件判断

最后更新时间:2026-05-06 10:00:00

1. if / else 的基本结构

条件判断是模板里最常见的控制语句。基本写法如下:

{{ if .IsHome }}
  <p>这是首页</p>
{{ else }}
  <p>这不是首页</p>
{{ end }}

2. 支持什么条件

if 后面可以放布尔值、非空字符串、非零数字、非空切片或 map。模板会按照“是否为空”来判断真假。

3. 多分支

{{ if .IsHome }}
  首页
{{ else if .IsList }}
  列表页
{{ else }}
  其他页面
{{ end }}

多分支适合处理栏目类型、页面模式、登录状态、是否存在数据等场景。

4. 配合函数一起判断

模板条件不只是判断字段,也可以判断函数结果:

{{ if HasPrefix .Request.Path "/doc" }}
  <span>文档中心</span>
{{ end }}

5. 常见坑

  • 条件表达式里不要写复杂计算,尽量先在数据层处理好。
  • 空值、空字符串、空数组都会被视为 false。
  • 条件块必须以 {{ end }} 结束。