So I would like to somehow get all of my {{ .blahblah }}
actions defined in a template as slice of strings.
For example if I have this template:
<h1>{{ .name }} {{ .age }}</h1>
I would like to be able to get []string{"name", "age"}
. Pretend that a template has the method func (t *Template) Fields() []string
:
t := template.New("cooltemplate").Parse(`<h1>{{ .name }} {{ .age }}</h1>`)
if t.Fields() == []string{"name", "age"} {
fmt.Println("Yay, now I know what fields I can pass in!")
// Now lets pass in the name field that we just discovered.
_ = t.Execute(os.Stdout, map[string]string{"name": "Jack", "age":"120"})
}
Is there a way to inspect a parsed template like this?
Thanks!
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…