Разбираем go:embed в Go 1.16
goGo 1.16 официально еще не вышел, но уже сейчас можно скачать бету с официального сайта и поиграться. Этим и займемся. В этой статье разберем работу нового пакет embed
.
#0 устанавливаем beta go 1.16
Если у вас установлен Go, то установка беты происходит максимально просто. В терминале выполняем последовательно следующие команды.
go get golang.org/dl/go1.16beta1
go1.16beta1 download
Вот и все, теперь бета доступна посредством вызова go1.16beta1
.
embed
Что если мы хотим встроить файл в наш бинарник на go, например, какие-то шаблоны, html файлы, если это веб сервер или даже README.md ? Нам приходилось либо саморучно затаскивать их в наш код, либо пользоваться сторонними библиотечками, такими как go-bindata. Оба варианта отстойные. Первый способ не гибкий, в нем можно ошибиться, так как нужно все делать вручную. Второй способ получше, но это дополнительные зависимости, которых может не оказаться в вашей среде и главное дополнительные шаги при сборке приложения.
Далее...