Чтобы сделать то, что вы хотите, вам нужно поместить файлы xxx. go, yyy. go и zzz. go во внутренний пакет.
Это макет каталога, который вам следует иметь:
--cmd
--program1
--main.go
--program2
--main.go
--internal
--shared
--xxx.go
--yyy.go
--zzz.go
В файлах xxx. go, yyy. go и zzz. go в начале файла должно быть package shared
.
В файлах main. go, у вас должно быть import "../../internal/shared"
. Если у вас есть файл go .mod с полностью определенным именем модуля (например, github.com/me/project), вы можете получить import "github.com/me/project/internal/shared"
.
Как только вы это сделаете, вы можете вызвать экспортированные функции общего пакета, таким образом, из файла xxx. go, из основного файла программы. Обратите внимание, что функция экспортируется, когда первая буква имени функции является заглавной буквой.