为了账号安全,请及时绑定邮箱和手机立即绑定

模板和自定义功能;恐慌:功能未定义

模板和自定义功能;恐慌:功能未定义

Go
慕无忌1623718 2021-06-08 13:19:46
使用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
提交
取消
意见反馈 帮助中心 APP下载
官方微信