HTML Template: вывести неэкранированные данные

С помощью пакета html/template вызываю html-файл и передаю туда данные:

w := http.ResponseWriter //writer, куда пишем данные
tpl, _ := template.ParseFiles("/index.html") //шаблон, который вызываем
text := "<b>Bold</b> text" //строка, которую передаём
_ = tpl.Execute(w, text)

Если в шаблоне вызовем нашу строку через {{ }}, то фактически в DOM у нас будет строка:

&lt;b&gt;Bold&lt;/b&gt; text

То есть тег <b> был экранирован. Возможно ли сделать так, чтобы в переданной нами строке не применялось экранирование символов (то есть чтобы текст выводился полужирным)?

P.S. Например, в шаблонах Blade для Laravel для этого есть специальная команда {!! !!}.


Ответы (1 шт):

Автор решения: Ainar-G

Используйте типизированные строки. Точнее, template.HTML. Пример:

_ = tpl.Execute(w, template.HTML(`<b>Hello</b>`))
→ Ссылка