Templat Golang dan Isu Mengakses Fungsi yang Dilalui kepada Templat
Apabila cuba menggunakan fungsi yang dihantar kepada templat Go, ralat boleh timbul: "template: struct.tpl:3: fungsi "makeGoName" tidak ditakrifkan." Untuk membetulkan isu ini, fungsi tersuai mesti didaftarkan sebelum penghuraian templat.
Kebolehan analisa statik templat memerlukan kekangan ini. Untuk mencapai ini, cipta templat baharu menggunakan templat.New() dan gunakan kaedah Templat.ParseFiles() bagi templat yang dikembalikan. Jenis templat.
t, err := template.New("struct.tpl").Funcs(template.FuncMap{ "makeGoName": makeGoName, "makeDBName": makeDBName, }).ParseFiles("templates/struct.tpl")
Perhatikan bahawa panggilan templat.New() harus nyatakan nama asas fail yang sedang dilaksanakan. Selain itu, pastikan pengendalian ralat untuk Template.Execute().
if err := t.Execute(os.Stdout, data); err != nil { fmt.Println(err) }
Atas ialah kandungan terperinci Bagaimana untuk Mendaftarkan Fungsi Tersuai dengan Betul dalam Templat Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!