Я объясню, как вызвать функцию, которая находится в другом файле Go в другом пакете.
Пример файловой структуры Golang;
Как вы видите, у вас есть основная папка проекта, есть ваш основной файл go, в котором закодирована основная функция, и другие каталоги пакетов, другие файлы go под ними… Как правило, другие файлы go в пользовательских пакетах не содержат основной функции, конкретных функций, ориентированных на задачу. там закодированы.
Чтобы создать структуру, подобную этой;
- Создайте папку вашего проекта
mkdir myproject
2. Поместите свой основной код, содержащий основную функцию, под ним. Этот файл должен начинаться с «package main»
3. Создайте модуль в каталоге myproject.
go mod init "mymodule"
4. Создайте другой каталог (или каталоги) для других пакетов. Например;
mkdir utils
5. Поместите под нее другие файлы вашей утилиты, которые не содержат основной функции. Эти файлы должны начинаться с «package mypackage».
6. Предположим, что у нас есть util.go в разделе utils и в нем есть функция MyUtility. Нам нужно вызвать эту функцию из основной функции. Мы должны добавить «mymodule/utils» в часть импорта нашего основного файла go, и мы можем вызывать функцию с этим внутренним кодом;
utils.MyUtility(...)
Заметить, что; только функции, начинающиеся с заглавных букв, могут быть общедоступными для других файлов go. Функция MyUtility должна начинаться с заглавной буквы, если вы наберете myUtility, это будет частная функция (видимая только в файле go)