Использование директивы встраивания Golang
Выпущенный в версии 1.16 пакет embed дает нам новую директиву, помогающую встраивать файлы в программы Go.
В приведенном выше примере мы используем директиву //go:embed из пакетаembed, за которой следует имя файла, который мы хотим встроить.
В следующей строке мы создаем новую переменную, в которую будет помещено содержимое файла. Эта переменная может иметь тип string, []byte или FS (файловая система).
Если вы не можете придумать, как использовать эту директиву, давайте представим, что вы реализуете веб-сайт с использованием Go Fiber.
Все ваши представления находятся в папке с именем views.
Без пакета embed, чтобы наш веб-сайт работал на 100 %, нам необходимо обновлять папку двоичных файлов и представлений на каждом сервере. Это может быть много работы!!!
Но если мы используем пакет embed, все, что нам нужно сделать, чтобы наш веб-сайт работал на 100%, — это обновить двоичный файл.
Посмотрите пример:
Конечно, нам нужно измерить использование этой директивы. Использование для всего может привести нас к очень-очень БОЛЬШИМ двоичным файлам, что может быть более серьезной проблемой, чем просто загрузить папку с HTML-шаблонами внутри.