Я бы хотел разделить свой проект go на несколько пакетов, чтобы определенные методы и переменные из каждого пакета были «защищены». Я хотел бы сохранить все в одной папке проекта, чтобы любой, кто может загрузить мой код, нашел его полностью автономным.
Я предполагаю, что проект будет выглядеть примерно так:
root
┗ main package
| ┗ all corresponding go files
┗ another package
┗ all corresponding go files
и затем импортировать второй пакет в мой основной пакет
Кажется, относительные пути импорта считаются плохими, и импорт на основе gopath не кажется лучшим способом сделать это, потому что я не пытаюсьчтобы создавать многократно используемые библиотеки, просто чтобы лучше организовать свой проект.
Правки и дополнения:
Я прочитал "как писать код", но я не видел, как бы я решил свою текущую проблему. Я понимаю, что информация, вероятно, там, и я просто толстый как бы то ни было. Чтобы лучше объяснить мою проблему, я создал пример проекта, который использует мое текущее исправление.
https://gitlab.com/snippets/1911903
У меня есть два пакета "привет" и "основной". Внутри «основного» пакета находится строка «текст» и функция «Hello ()». Я поместил это в отдельный пакет, потому что я не хочу, чтобы строка «текст» была доступна / определена в моем файле main.go. На данный момент я импортирую «привет» в «основной», используя относительный путь импорта. Это то, что, как мне кажется, нужно изменить.
Поскольку они являются частью одного и того же пакета, я бы хотел, чтобы исходный код оставался как можно ближе (поэтому я и не импортировал)через гопата, но, возможно, это то, что я должен делать).