Golang模板中自定义函数无法使用的问题
Golang模板中自定义函数无法使用的问题 以下代码运行正常 playground
package main
import (
"html/template"
"os"
)
func main() {
tmpl := `
{{ $slice := mkSlice "a" 5 "b" }}
{{ range $slice }}
{{ . }}
{{ end }}
`
funcMap := map[string]interface{}{"mkSlice": mkSlice}
t := template.New("").Funcs(template.FuncMap(funcMap))
template.Must(t.Parse(tmpl))
t.Execute(os.Stdout, nil)
}
func mkSlice(args ...interface{}) []interface{} {
return args
}
但当我尝试从模板文件运行时,没有任何内容显示,也没有收到任何错误!
func mkSlice(args ...interface{}) []interface{} { // 在模板中创建数组
return args
}
funcMap := map[string]interface{}{"mkSlice": mkSlice}
tmpl := template.New("").Funcs(template.FuncMap(funcMap))
template.Must(tmpl.ParseFiles("index.html"))
tmpl.Execute(w, nil)
index.html 文件内容如下:
{{ $slice := mkSlice "a" 5 "b" }}
{{ range $slice }}
<span> {{ . }} </span>
{{ end }}
有什么想法吗?
更多关于Golang模板中自定义函数无法使用的问题的实战教程也可以访问 https://www.itying.com/category-94-b0.html
1 回复


