最后更新时间:2026-05-05 10:00:00
range 用来遍历列表、数组、切片、map。它是模板渲染列表的核心语法。
{{ range .List }}
<li>{{ .Title }}</li>
{{ end }}进入 range 之后,点号 . 会变成当前项,不再是外层对象。如果还要使用外层变量,先用 $root := . 保存。
{{ if .List }}
{{ range .List }}
<li>{{ .Title }}</li>
{{ end }}
{{ else }}
<p>暂无内容</p>
{{ end }}这是最实用的列表页写法:有数据就渲染,没有数据就显示空态。
如果需要序号,可以接收两个返回值:
{{ range $index, $item := .List }}
<p>{{ add $index 1 }}. {{ $item.Title }}</p>
{{ end }}第一个变量通常是索引,第二个变量是当前项。
range 不只适用于列表,也能遍历 map。不过 map 的遍历顺序不保证固定,做展示时要谨慎。