Go 模板使用

一  什么是模板 

你一定听说过一种叫做MVC的设计模式,Model处理数据,View展现结果,Controller控制用户的请求,至于View层的处理,在很多动态语言里面都是通过在静态HTML中插入动态语言生成的数据,例如JSP中通过插入<%=....=%>,PHP中通过插入来实现的。

通过下面这个图可以说明模板的机制

Web应用反馈给客户端的信息中的大部分内容是静态的,不变的,而另外少部分是根据用户的请求来动态生成的,例如要显示用户的访问记录列表。用户之间只有记录数据是不同的,而列表的样式则是固定的,此时采用模板可以复用很多静态代码

二 Template 使用

package main

import(

"html/template"

"os"

)

type Person struct{

UserName string//必须大写,否则不能显示

Emails  []string

Friends  []*Friend

}

func main() {

t := template.New("fieldname example")

t,_ = t.Parse("hello {{.UserName}}!")

p := Person{UserName:"Astaxie"}

t.Execute(os.Stdout,p)

//foo()

}

Go语言的模板通过{{}}来包含需要在渲染时被替换的字段,{{.}}表示当前的对象,这和Java或者C++中的this类似,如果要访问当前对象的字段通过{{.FieldName}},但是需要注意一点:这个字段必须是导出的(字段首字母必须是大写的),否则在渲染的时候就会报错

https://github.com/astaxie/build-web-application-with-golang/blob/master/zh/07.4.md

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,161评论 19 139
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 33,513评论 18 399
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 176,458评论 25 709
  • 大二那年的暑假,一直忙于兼职打工的欢子突然给我来了个电话。 “日爷,你觉得现在灵芝卖的怎么样?” 我被欢子这句没头...
    梁知夏阅读 5,435评论 48 50
  • 目前在努力ing,边写代码边转产品助理,调查好小众产品,就和同事开淘宝! 补:2018-10-30:现在就想着开心就好
    BBBBean阅读 1,643评论 0 5

友情链接更多精彩内容