В шаблоне Go иногда способ передачи правильных данных в правильный шаблон мне кажется неудобным. Вызов шаблона с параметром конвейера выглядит как вызов функции только с одним параметром.
Скажем, у меня есть сайт для Gophers о Gophers. Он имеет основной шаблон главной страницы и шаблон утилиты для печати списка Gophers.
http://play.golang.org/p/Jivy_WPh16
Выход:
*The great GopherBook* (logged in as Dewey)
[Most popular]
>> Huey
>> Dewey
>> Louie
[Most active]
>> Huey
>> Louie
[Most recent]
>> Louie
Теперь я хочу добавить немного контекста в подтема: отформатируйте имя "Dewey" по-другому внутри списка, потому что это имя текущего пользователя. Но я не могу передать это имя напрямую, потому что есть только один возможный контур аргумента "точка"! Что я могу сделать?
- Очевидно, что я могу скопировать-вставить код подтемы в основной шаблон (я не хочу, потому что он полностью утрачивает интерес к тому, чтобы иметь подстроку).
- Или я могу манипулировать некоторыми глобальными переменными с помощью аксессуаров (я тоже не хочу).
- Или я могу создать новый конкретный тип структуры для каждого списка параметров шаблона (не очень).