← ВЕРНУТЬСЯ
Знакомство с Templ
Как устроены типобезопасные шаблоны в Go и чем они лучше html/template.
Что такое Templ?
Templ — это язык шаблонов для Go, который компилируется в обычный Go-код. Каждый шаблон становится функцией, возвращающей templ.Component.
Синтаксис
Компонент объявляется так:
templ Greeting(name string) {
<h1>Привет, { name }!</h1>
}
После запуска templ generate появится файл greeting_templ.go с Go-кодом.
Вложенные компоненты
Компоненты можно вкладывать друг в друга:
templ Page(title string) {
<html>
<body>
<h1>{ title }</h1>
{ children... }
</body>
</html>
}
templ HomePage() {
@Page("Главная") {
<p>Добро пожаловать!</p>
}
}
Безопасность
По умолчанию все строки экранируются. Для вставки сырого HTML нужно явно использовать templ.Raw().
Итог
Templ избавляет от целого класса ошибок — опечатки в переменных шаблонов становятся ошибками компилятора, а не багами в рантайме.