Функция шаблона Go

Он заметил странную вещь с шаблонами 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\"}}

Любая идея, почему? Это ошибка? Существуют ли более простые способы использования методов/функций в шаблонах?

29
задан Blacksad 3 August 2016 в 15:12
поделиться