首頁 > 後端開發 > Golang > 如何正確地將函數傳遞給Golang模板並避免「函數未定義」錯誤?

如何正確地將函數傳遞給Golang模板並避免「函數未定義」錯誤?

Mary-Kate Olsen
發布: 2024-12-26 02:13:09
原創
887 人瀏覽過

How to Correctly Pass Functions to Golang Templates and Avoid

解決向 Golang 範本傳遞函數時的錯誤

使用 Golang 範本時,傳遞自訂函數有時會導致錯誤,例如「函數未定義」錯誤。以下是解決此問題並正確實作函數傳遞的方法。

首先,請確保在解析模板之前註冊自訂函數。解析註冊表函數,允許解析器識別它們並將它們與有效標識符區分開來。利用 template.New() 函數建立一個新的、未定義的模板,並呼叫 Template.ParseFiles() 方法來解析模板檔案。例如:

t, err := template.New("struct.tpl").Funcs(template.FuncMap{
    "makeGoName": makeGoName,
    "makeDBName": makeDBName,
}).ParseFiles("templates/struct.tpl")
登入後複製

此外,請注意 template.New() 函數需要執行檔案的基本名稱。

此外,處理 Template.Execute 傳回的錯誤至關重要()。新增 if 語句來處理執行範本時可能出現的任何錯誤:

if err := t.Execute(os.Stdout, data); err != nil {
    fmt.Println(err)
}
登入後複製

以上是如何正確地將函數傳遞給Golang模板並避免「函數未定義」錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板