1 回答

TA貢獻1777條經(jīng)驗 獲得超10個贊
如果您查看從包中調(diào)用此函數(shù)return的Executeit 調(diào)用: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包將變量解析到模板中。
這是正在發(fā)生的事情的一個小例子:http : //play.golang.org/p/ih1Ei33NsO
- 1 回答
- 0 關(guān)注
- 217 瀏覽
添加回答
舉報