1 回答
TA贡献1777条经验 获得超10个赞
如果您查看从包中调用此函数return的Executeit 调用:t.text.Executetext/template
132 func (t *Template) Execute(wr io.Writer, data interface{}) (err error) {
133 defer errRecover(&err)
134 value := reflect.ValueOf(data)
135 state := &state{
136 tmpl: t,
137 wr: wr,
138 vars: []variable{{"$", value}},
139 }
140 if t.Tree == nil || t.Root == nil {
141 state.errorf("%q is an incomplete or empty template%s", t.Name(), t.DefinedTemplates())
142 }
143 state.walk(value, t.Root)
144 return
145 }
所以它将使用reflect包将变量解析到模板中。
这是正在发生的事情的一个小例子:http : //play.golang.org/p/ih1Ei33NsO
- 1 回答
- 0 关注
- 195 浏览
添加回答
举报