Теперь это возможно, используя -linkshared
flag
Что вам нужно сделать, это сначала выполнить эту команду:
go install -buildmode=shared -linkshared std
(Приведенный выше код делает все общие пакеты общедоступными!)
тогда
go install -buildmode=shared -linkshared userownpackage
наконец, при компиляции кода вам нужно выполнить:
go build -linkshared yourprogram
Что выше перечислено, так это теперь, вместо того, чтобы статически связывать все, только динамически связывать их, и вы получите гораздо меньшие скомпилированные файлы. Просто чтобы дать вам представление, мой файл "hello.go" со статической связью занимает 2,3 МБ, тогда как тот же код, использующий динамическую связь, занимает всего 12 КБ!