我试图了解如何在call
包中使用text/template
函数。这是示例:
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
函数的目的是什么? 最佳答案
如果要调用函数值,则需要使用call
。
引用docs(请参见“函数”下的):
在此示例中,X
可能如下所示:
type X struct {
Y func(a int, b int) int
}
关于go - 如何使用文本/模板的预定义 “call”函数?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31218030/