Przejdź do funkcji szablonu
Kiedy próbowałem użyć, zauważyłem dziwną rzecz z szablonami GoFuncs
iFuncMap
. Poniższy kod działa zgodnie z oczekiwaniami:
<code>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" </code>
Ale kiedy próbuję umieścić szablon w pliku, nie działa (Execute()
mówi:"alex" is an incomplete or empty template
):
<code>t, _ := template.New("alex").Funcs(funcMap).ParseFiles("template.html") </code>
Z template.html:
<code>{{label \"alex\"}} </code>
Jakiś pomysł dlaczego? Czy to błąd? Czy istnieją prostsze sposoby używania metod / funkcji w szablonach?