# #go #templates
Вопрос:
Например, я хочу изменить диапазон Fields
, кроме последнего элемента.
Может быть, как:
{{range $Field := $.Fields[:len $Field - 1]}}
Есть ли у меня какие-то подходы?
Тх!
Ответ №1:
Встроенная функция среза шаблона почти делает то, что вам нужно. Недостающий фрагмент вычисляет последний индекс нового фрагмента. Для этого добавьте функцию добавления в шаблон:
func add(a, b int) int {
return a b
}
Добавьте функцию в шаблон перед анализом:
t, err := template.New(name).Funcs(template.FuncMap{"add": add}).Parse(text)
Используйте функцию следующим образом:
{{range slice $ 0 (add (len $) -1)}}
{{.}}
{{end}}