從Go 模板呼叫方法
在Go 中,你可以為自訂類型定義方法,讓你可以更方便地操作這些類型。有組織的方式。使用 HTML 模板時,從模板本身存取這些方法通常很有用。
問題:
考慮以下內容:
type Person struct { Name string } func (p *Person) Label() string { return "This is " + p.Name }
如何在HTML 中使用Label() 方法template?
答案:
要從Go模板呼叫方法,只需省略括號即可。在這種情況下,模板將如下所示:
{{ .Label }}
這將呼叫 Label() 方法並將其傳回值插入範本中。
這是一個完整的範例:
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")) }
附加說明:
根據Go 文件中,任何傳回任意類型的一個值或兩個值(第二個為錯誤類型)的方法都可以從模板呼叫。
以上是如何從 HTML 模板呼叫 Go 方法?的詳細內容。更多資訊請關注PHP中文網其他相關文章!