Существует ли стандартная практика разделения пакетов на модульные компоненты? - PullRequest
0 голосов
/ 21 декабря 2018

Я работаю над библиотекой с несколькими уровнями функциональности.Я хочу, чтобы разработчики могли импортировать только те части, которые им нужны, то есть mylib-core, mylib-feature1, mylib-feature2 и т. Д. Каждый из них живет в своем собственном git-репо.Я также хотел бы предоставить простой пакет mylib, который предоставляет набор функций по умолчанию, который полезен для начинающих разработчиков библиотеки.См. d3.js версия 4+, где что-то очень похоже на то, что я пытаюсь сделать.

Проблемы, с которыми я столкнулся,

  1. Очевидно, вы не можете разделить имя пакета между пакетами.Это проблема, потому что было бы неплохо импортировать все нужные репозитории, а затем просто иметь все доступное под именем mylib.

  2. Я не вижу очевидного способа переписать-экспортировать функциональность, чтобы создать пакет mylib по умолчанию.

Есть ли хорошие решения или более идиотский способ добиться того, ради чего я стреляю?

1 Ответ

0 голосов
/ 22 декабря 2018

Отвечая на ваш вопрос, нет идиоматического способа делать то, что вы хотите.В JavaScript часто импортируют библиотеку и экспортируют ее элементы без помех.Это не относится к Golang.

Я советую вам разместить всю библиотеку в одном репо и разделить функциональность на пакеты.Компилятор Go будет компилировать и использовать только импортированные пакеты.

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

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