Включает ли сборка Go все пакеты проекта или только те, которые используются? - PullRequest
0 голосов
/ 21 января 2020

Я изучаю Go и как структурировать разумный комплексный Go проект. Я не могу получить окончательный ответ на следующие вопросы. При запуске сборки будет Go включать все пакеты проекта в сборку или только те, которые используются?

Пример : я разрабатываю фреймворк, в котором несколько пакетов находятся внутри / pkg папки. Некоторые пакеты предназначены для администраторов, а некоторые не являются администраторами. Не администраторская служба будет использовать соответствующие пакеты для своей функции, но исключит административные. При создании сервиса будет ли сервис собираться только с теми пакетами, которые он использовал из фреймворка?

Спасибо!

1 Ответ

3 голосов
/ 21 января 2020

A go сборка будет включать только транзитивное закрытие пакетов, на которые ссылаются из основного. Внутри пакета он будет включать только используемые функции. Для типов с методами, если тип используется, тогда будут включены все методы этого типа.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...