下面由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)}
<!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语言中如何使用模板引擎—–文章转载自PHP中文网如有侵权请联系admin#tyuanma.cn删除
Think-Swoole教程之简介
转载请注明来源:Go语言中如何使用模板引擎_编程技术_编程开发技术教程
本文永久链接地址:https://www.ymkuzhan.com/866.html
本文永久链接地址:https://www.ymkuzhan.com/866.html
下载声明:
本站资源如无特殊说明默认解压密码为www.ymkuzhan.com建议使用WinRAR解压; 本站资源来源于用户分享、互换、购买以及网络收集等渠道,本站不提供任何技术服务及有偿服务,资源仅提供给大家学习研究请勿作它用。 赞助本站仅为维持服务器日常运行并非购买程序及源码费用因此不提供任何技术支持,如果你喜欢该程序,请购买正版! 版权声明:
下载本站资源学习研究的默认同意本站【版权声明】若本站提供的资源侵犯到你的权益,请提交版权证明文件至邮箱ymkuzhan#126.com(将#替换为@)站长将会在三个工作日内为您删除。 免责声明:
您好,本站所有资源(包括但不限于:源码、素材、工具、字体、图像、模板等)均为用户分享、互换、购买以及网络收集而来,并未取得原始权利人授权,因此禁止一切商用行为,仅可用于个人研究学习使用。请务必于下载后24小时内彻底删除,一切因下载人使用所引起的法律相关责任,包括但不限于:侵权,索赔,法律责任,刑事责任等相关责任,全部由下载人/使用人,全部承担。以上说明,一经发布视为您已全部阅读,理解、同意以上内容,如对以上内容持有异议,请勿下载,谢谢配合!支持正版,人人有责,如不慎对您的合法权益构成侵犯,请联系我们对相应内容进行删除,谢谢!