It noticed a weird thing with Go templates when I try to use Funcs
and FuncMap
. The following code works as expected:
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"
But when I try to put the template in a file, it does not work (Execute()
says: "alex" is an incomplete or empty template
):
t, _ := template.New("alex").Funcs(funcMap).ParseFiles("template.html")
With template.html:
{{label \"alex\"}}
Any idea why ? Is this a bug ? Are there simpler ways to use methods/functions in templates ?