Он заметил странную вещь с шаблонами Go, когда я пытаюсь использовать Funcs
и 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\"}}
Любая идея, почему? Это ошибка? Существуют ли более простые способы использования методов/функций в шаблонах?