在 Go 中,您可以为数据类型定义自定义方法。如何从 Go 中的 HTML 模板调用这些方法?
考虑以下示例:
type Person struct { Name string } func (p *Person) Label() string { return "This is " + p.Name }
要从模板调用 Label 方法,请使用以下语法:
{{ .Label }}
请注意,调用该方法时省略括号。
这是一个完整的 Go 程序,演示了模板中方法调用的用法:
package main import ( "html/template" "log" "os" ) type Person string func (p Person) Label() string { return "This is " + string(p) } func main() { tmpl, err := template.New("").Parse(`{{.Label}}`) if err != nil { log.Fatalf("Parse: %v", err) } tmpl.Execute(os.Stdout, Person("Bob")) }
当你运行这个程序时,它会输出:
This is Bob
根据Go模板文档,你可以调用任何以下方法:返回一个值(任何类型),如果第二个值属于错误类型,则返回两个值。如果第二个返回值是错误,则 Execute 函数会将该错误返回为非 nil,并停止模板执行。
以上是如何从Go HTML模板调用自定义方法?的详细内容。更多信息请关注PHP中文网其他相关文章!