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语言中如何使用模板引擎
本文URL:https://www.cdcxhl.com/article6/cggsog.html

成都网站建设公司_创新互联,为您提供自适应网站电子商务网站导航Google定制开发静态网站

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

网站优化排名