Web 模板就是预先设计好的 HTML 页面,它可以被模板引擎反复的使用,来产生 HTML 页面。
Go 语言的标准库提供了 text/template,html/template 两个模板库,大多数 Go 的 Web 框架都使用这些库作为 默认的模板引擎。
Go 主要使用的是 text/template,HTML 相关的部分使用了 html/template,是个混合体。
模板必须是可读的文本格式,扩展名任意。对于 Web 应用通常就是 HTML。里面会内嵌一些命令(叫做 action)
text/template 是通用模板引擎,html/template 是 HTML 模板引擎。
action 位于双层花括号之间:{{.}}这里的,就是一个action,它可以命令模板引擎将其替换成一个值。
text/template 是 Golang 标准库,实现数据驱动模板以生成文本输出,可理解为一组文本按照特定格式嵌套动态嵌入另一组文本中。
官网 : https://pkg.go.dev/text/template
html/template 实现了数据驱动的模板,以便在代码注入过程中安全地生成 HTML 输出。它提供了与包 text/template 相同的接口,只要输出是 HTML,就应该使用它来代替 text/template。
官网 : https://pkg.go.dev/html/template