Он заметил странную вещь с шаблонами 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()
говорит: «алекс» — неполный или пустой шаблон
):
t, _ := template.New("alex").Funcs(funcMap).ParseFiles("template.html")
С template.html:
{{label \"alex\"}}
Любая идея, почему? Это ошибка? Существуют ли более простые способы использования методов/функций в шаблонах?