Система шаблонов в языке Go позволяет создавать динамический контент. 4 Шаблон привязывается к определённой структуре данных, данные из которой будут появляться внутри шаблона. 1
Любой шаблон в Go состоит из трёх типов базовых сущностей: 1
- Действия (Actions). 1 Это фрагменты текста, заключённые в фигурные скобки {{ }}, в которых выполняется вычисление или подстановка некоторых данных. 1 Действия управляют тем, как будет выглядеть окончательный результат. 1
- Условия (Conditions). 1 К условиям относятся классические конструкции if-else, которые используются внутри шаблона. 1 Благодаря условиям можно добавлять или убирать из конечного вывода целые текстовые блоки. 1
- Циклы (Loops). 1 Внутри шаблона можно выполнять классические циклы, выводя множество однотипных блоков, но с разной ключевой информацией. 1
Для управления шаблонами в Go есть три наиболее часто используемые функции: 1
- New. 1 Создаёт новый шаблон, который впоследствии нужно будет определить. 1
- Parse. 1 Анализирует переданную строку, содержащую текст шаблона, после чего возвращает уже готовый к использованию шаблон. 1
- Execute. 1 Выполняет готовый шаблон (который прошёл этап парсинга), применяя к нему указанную структуру данных, после чего записывает результат в заданную переменную. 1
Также существует функция ParseFiles для обработки не строки с содержимым шаблона, а целых файлов. 1