Go语言中模板引擎有哪些,应该如何使用
导读:这篇文章给大家分享的是“Go语言中模板引擎有哪些,应该如何使用”,文中的讲解内容简单清晰,对大家认识和了解都有一定的帮助,对此感兴趣的朋友,接下来就跟随小编一起了解一下“Go语言中模板引擎有哪些,应该如何使用”吧。 下面由...
这篇文章给大家分享的是“Go语言中模板引擎有哪些,应该如何使用”,文中的讲解内容简单清晰,对大家认识和了解都有一定的帮助,对此感兴趣的朋友,接下来就跟随小编一起了解一下“Go语言中模板引擎有哪些,应该如何使用”吧。
下面由golang教程栏目给大家介绍Go语言中使用模板引擎,希望对需要的朋友有所帮助!
1 概述
处理响应主体时,最常见的方式就是发送处理好的 HTML 代码,由于需要将数据嵌入到 HTML 中,那么模板引擎(template engine)就是最好的选择。
Go语言中,提供了 html/template
包,实现模板引擎的相关功能。快速使用示例:
main.go
package mainimport ( "html/template" "log" "net/http")func main() { // 设置 处理函数 http.HandleFunc("/", TestAction) 开启监听(监听浏览器请求) log.Fatal(http.ListenAndServe(":8084", nil))} func TestAction(w http.ResponseWriter, r *http.Request) { // 解析模板 t, _ := template.ParseFiles("template/index.html") // 设置模板数据 data := map[string]interface{ } { "User": "小韩说课", "List": []string{ "Go", "Python", "PHP", "JavaScript"} , } // 渲染模板,发送响应 t.Execute(w, data)}
template/index.html
!DOCTYPE html> html lang="en"> head> meta charset="UTF-8"> title> 小韩说课/title> /head> body> Hello, { { .User } } br> 你熟悉的技术:ul> { { range .List } } li> { { .} } /li> { { end} } /ul> /body> /html>
执行结果:
以上代码就完了模板引擎的基本使用,包括解析模板,渲染数据,响应结果操作。接下来详细说明。
2 解析模板
函数 template.ParseFiles(filenames ...string) (*Template, error)
可以解析模板文件,并得到模板对象。参数为模板文件。同时会以模板文件的文件名(不包含后缀名)作为模板的名字。
还可以使用 template.New("name").Parse(src string)
来创建模板对象,并完成解析模板内容。
3 应用数据并发送响应
函数 func (t *Template) Execute(wr io.Writer, data interface{
}
) error
将 data 应用到解析好的模板上,并将输出写入 wr。如果执行时出现错误,会停止执行,但有可能已经写入wr部分数据。
data 数据可以接受任意类型,最常见的类型为:map[string]interface{
}
,通过不同的下标来区分部分的分配数据。在模板中使用 .User
,.List
来访问分配数据中的 User 和 List。
完!
关于“Go语言中模板引擎有哪些,应该如何使用”的内容就介绍到这,感谢各位的阅读,相信大家对Go语言中模板引擎有哪些,应该如何使用已经有了进一步的了解。大家如果还想学习更多知识,欢迎关注网络,小编将为大家输出更多高质量的实用文章!
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Go语言中模板引擎有哪些,应该如何使用
本文地址: https://pptw.com/jishu/653955.html