Уроки Golang

#4 – Работа с HTML шаблонами в Go

#4 – Работа с HTML шаблонами в Go

Для создания полноценного сайта необходимо научится отображать HTML шаблоны на страницах. В уроке мы изучим специальные функции, что позволяют работать с HTML шаблонами в языке Golang.

Видеоурок

Шаблонизатор

С давних пор программисты стараются отделить функциональную часть сайта от визуальной. Для решения этой проблемы были созданы различные шаблонизаторы, что выполняют роль отделения логической части сайта от визуальной. В языке Golang есть встроенный шаблонизатор и есть дополнительные шаблонизаторы, что подключаются по отдельности.


Возможности даже встроенного шаблонизатора очень большие. Он способен выводить стандартную HTML разметку, а также выполнять: проверку условий, вывод массивов через цикл, вывод переменных и многое другое.


Ранее для вывода информации мы использовали fmt.Fprintf(). Подобный подход неверный, так как выводить «море» HTML тегов в формате одной строки – просто ужасно. Вместо такого подхода мы будем использовать метод template.ParseFiles(), что позволяет выводить большие HTML-шаблоны, напичканые кодом из шаблонизатора. 


В качестве параметров при вызове HTML шаблона необходимо передать месторасположение файла с шаблоном.


Создание шаблона

Все шаблоны лучше хранить в одной общей папке templates. При хранении в другой папке ошибки не будет, но это будет считаться плохим тоном.


В основном шаблоне можно прописать базовую структуру HTML:

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Главная страница</title>
</head>
<body>
	
</body>
</html>

Внутри шаблона можно выводить переменные, создавать циклы, условия и так далее. Все эти действия прописываются внутри двойных фигурных скобок:

{{ .Some }}

<!-- Условие -->
{{ if eq .Name "Bob" }}
{{ end }}

<!-- Цикл -->
{{ range .Array }}

{{ end }}

Внутри шаблона можно прописывать еще больше функций, но о них мы поговорим в следующих уроках.

Материалы для курса

Чтобы скачивать материалы к видеокурсам необходимо оформить подписку на сайт

Исходный код

Весь код будет доступен после подписки на проект!

Задание к уроку

Необходимо оформить подписку на проект, чтобы получить доступ ко всем домашним заданиям

Большое задание по курсу

Вам необходимо оформить подписку на сайте, чтобы иметь доступ ко всем большим заданиям. В задание входит методика решения, а также готовый проект с ответом к заданию.
PS: подобные задания доступны при подписке от 1 месяца

Также стоит посмотреть

Изучение JavaScript: от нуля и до создания сайта
Уроки Java для начинающих
24 урока
Изучение технологии Ajax
7 уроков
Изучение языка PHP, а также MySQL
41 урок
Комментарии для сайта Cackle