Rumah >pembangunan bahagian belakang >Golang >Bagaimana untuk Mendaftarkan Fungsi Tersuai dengan Betul dalam Templat Go?

Bagaimana untuk Mendaftarkan Fungsi Tersuai dengan Betul dalam Templat Go?

Susan Sarandon
Susan Sarandonasal
2025-01-03 04:08:42299semak imbas

How to Properly Register Custom Functions in Go Templates?

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn