在 golang 有两种常用的模板发动机:text/template 和 html/template。text/template轻量级,适合生成简单的文本输出(json/xml)。使用示例:创建模板并填充占位符,执行模板并填充数据。html/template适用于呈现 html,提供转义函数、安全函数和自定义函数功能。使用示例:创建模板并填充占位符,执行模板并传输数据。
如何在 Golang 模板发动机用于框架
简介
模板引擎允许我们在那里 web 动态呈现应用程序中的动态呈现 HTML 内容。在 Golang 有几个流行的模板引擎,比如 text/template html/template。
立即学习“go语言免费学习笔记(深入);
使用 text/template
text/template 是 Golang 标准库中的轻量级模板引擎。它适用于生成简单的文本输出,如 JSON 或 XML。
package main
import (
"fmt"
"text/template"
)
func main() {
// 创建模板
tpl, err := template.New("hello").Parse("Hello, {{.}!")
if err != nil {
panic(err)
}
// 并用执行模板 "Gopher" 填充占位符
str, err := tpl.Execute(os.Stdout, "Gopher")
if err != nil {
panic(err)
}
fmt.Println(str)
}实战案例
假设我们有一个用户数据模型,并希望在模板中显示它。
用户模型:
type User struct {
Name string
Age int
}模板:
{{ .Name }} ({{ .Age }})Golang 代码:
func main() {
// 创建模板
tpl, err := template.ParseFiles("template.html")
if err != nil {
panic(err)
}
// 创建用户
user := &User{Name: "John", Age: 30}
// 执行模板,用户数据填充占用符
err = tpl.Execute(os.Stdout, user)
if err != nil {
panic(err)
}
}使用 html/template
html/template 是专门为呈现而设计的更强大的模板引擎 HTML 而设计。它提供了向模板添加自定义函数的转义、安全和功能。
实战案例
让我们使用 html/template 创建一个简单的博客文章详细信息页面。
Golang 代码:
func main() {
// 创建模板
tpl, err := template.ParseFiles("article.html")
if err != nil {
panic(err)
}
// 创建一篇文章
article := &Article{以上是如何在Golang框架中使用模板引擎?详情请关注其他相关文章!
如何在Golang框架中使用模板引擎?-Golang
电脑复制文件至U盘受阻,需速查原因解决!
海外服务器精选,品质卓越,一站式购买体验!
C 如何管理框架中依赖项目的冲突?-C
Server 2022:高效远程协作,办公无界限!
golang 框架与 Node.js 框架的比较-Golang
golang框架的性能与操作系统有关吗?-Golang
C 如何管理框架中依赖项目的冲突?-C
golang 框架与 Node.js 框架的比较-Golang
golang框架的性能与操作系统有关吗?-Golang
使用 C 框架的最佳实践是什么?-C
B站崩溃,视频评论区和用户主页无法加载——IT行业
用了4年10个月的时间,长城炮第一次 60 1万辆皮卡车下线-IT行业
夏天的好地方!很多地方开放! 2024 华为夏令营-自然会画主题活动-IT行业
Netflix 宣布《海盗王》真人剧第二季开拍,预计将于明年年底上映-IT行业
新里程碑沃尔沃卡车碳排放少,运营成本低:电动行驶里程超级 8047 IT行业万公里
小米SU7系列交付速度加快,锁定周期可减少5周-IT行业
微博:打击“付费热搜” 3 至 6 IT行业不包括个月-IT行业
移动终端收到投诉,“全国消费者协会智能 315 微信小程序运营商端上线-IT行业