核心知识点

quickstart

package main

import (
	"os"
	"text/template"
)

type Inventory struct {
	Material string
	Count    uint
}

func main() {
	// 准备动态数据
	sweaters := Inventory{"wool", 17}

	// 创建模板实例
	tmpl, err := template.New("test").Parse("{{.Count}} items are made of {{.Material}}")
	if err != nil {
		panic(err)
	}

	// 渲染模板
	err = tmpl.Execute(os.Stdout, sweaters)
	if err != nil {
		panic(err)
	}
}

循环

<h1>Members</h1>
<ul>
{% for user in users %}
  <li>{{ user.username|e }}</li>
{% endfor %}
</ul>

{# 字典 #}
<dl>
{% for key, value in my_dict.items() %}
    <dt>{{ key|e }}</dt>
    <dd>{{ value|e }}</dd>
{% endfor %}
</dl>

{# 其它高级特性: loop.xxx变量 #}
{# 文档: https://jinja.palletsprojects.com/en/3.1.x/templates/#for #}