Pertimbangkan kod berikut:
type Person struct { Name string } func (p *Person) Label() string { return "This is " + p.Name }
Untuk menggunakan kaedah ini dalam templat HTML, anda akan biasanya menjangkakan sintaks yang serupa dengan yang berikut:
{{ .Label() }}
Walau bagaimanapun, dalam templat Go, kurungan boleh ditinggalkan:
{{ .Label }}
Sebagai contoh, diberikan kod berikut:
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")) }
Templat akan menjana output:
This is Bob
Mengikut templat Go dokumentasi, anda boleh menggunakan mana-mana kaedah yang mengembalikan satu atau dua nilai, dengan nilai kedua ialah ralat. Jika kaedah mengembalikan ralat, Execute akan mengembalikan ralat dan menghentikan pelaksanaan templat.
Atas ialah kandungan terperinci Bagaimana Saya Memanggil Kaedah Pergi dari Dalam Templat?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!