【发布时间】:2015-07-04 07:14:52
【问题描述】:
我正在尝试了解如何在 text/template 包中使用 call 函数。这是一个例子:
type Human struct {
Name string
}
func (h *Human) Say(str string) string {
return str
}
func main() {
const letter = `
{{.Name}} wants to say {{"blabla" | .Say}}
{{.Name}} wants try again, {{call .Say "blabla"}}.`
var h = &Human{"Tim"}
t := template.Must(template.New("").Parse(letter))
err := t.Execute(os.Stdout, h)
if err != nil {
log.Println("executing template:", err)
}
}
see this code in play.golang.org
我以为call 调用函数/方法,但事实证明我们可以通过.Method arg1 arg2 来实现。那么call 的功能是什么?
【问题讨论】:
标签: go template-engine