Динамические библиотеки в Golang
Есть стандартный путь импорта библиотек import "fmt", для этого нужно сделать go get библиотеки. Я же хочу пойти по следующему пути: Собрать исполняемый файл, чтобы он все зависимости подтягивал из отдельной папки libs, в которую уже сам клиент накачает с github все необходимые библиотеки. Это можно как то реализовать? Таким образом, уменьшится вес проекта а также можно избежать проблем с библиотеками, политика лицензирования которых предполагает, что пакет остается неизменяемым.
Ответы (1 шт):
Идеология Go - опенсорс. По этой причине все зависимости указываются в виде ссылок на исходные тексты и компилируются в один большой исполняемый файл.
Одно время в Go были бинарные модули, но через пару лет после введения их исключили из языка.
Сейчас в стандартной библиотеке Go есть возможность скомпилировать модуль в динамически загружаемую библиотеку на платформах Linux, MacOS, BSD. В Windows плагины не поддерживаются.