使用html/template我试图在模板中使用我自己的功能之一。不幸的是,我无法使用 go 模板的函数映射功能。我得到的只是以下错误:% go run test.gopanic: template: tmpl.html:5: function "humanSize" not defined[...]简化的测试用例如下 ( test.go):package mainimport ( "html/template" "io/ioutil" "net/http" "strconv")var funcMap = template.FuncMap{ "humanSize": humanSize,}var tmplGet = template.Must(template.ParseFiles("tmpl.html")).Funcs(funcMap)func humanSize(s int64) string { return strconv.FormatInt(s/int64(1000), 10) + " KB"}func getPageHandler(w http.ResponseWriter, r *http.Request) { files, _ := ioutil.ReadDir(".") if err := tmplGet.Execute(w, files); err != nil { http.Error(w, err.Error(), http.StatusInternalServerError) }}func main() { http.HandleFunc("/", getPageHandler) http.ListenAndServe(":8080", nil)}我有以下简单模板 ( tmpl.html):<html><body> {{range .}} <div> <span>{{.Name}}</span> <span>{{humanSize .Size}}</span> </div> {{end}}</body></html>这是 1.1.1。
1 回答
- 1 回答
- 0 关注
- 196 浏览
添加回答
举报
0/150
提交
取消