Funcs
と を使用しようとすると、Go テンプレートで奇妙なことに気付きましたFuncMap
。次のコードは期待どおりに機能します。
buffer := bytes.NewBufferString("")
funcMap := template.FuncMap{
"label": strings.Title,
}
t, _ := template.New("alex").Funcs(funcMap).Parse("{{label \"alex\"}}")
t.Execute(buffer, "")
return string(buffer.Bytes()) //=> "Alex"
しかし、テンプレートをファイルに入れようとすると、機能しません (Execute()
言う: "alex" is an incomplete or empty template
):
t, _ := template.New("alex").Funcs(funcMap).ParseFiles("template.html")
template.html を使用:
{{label \"alex\"}}
理由はありますか?これはバグですか?テンプレートでメソッド/関数を使用する簡単な方法はありますか?