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

Пример файловой структуры Golang;

Как вы видите, у вас есть основная папка проекта, есть ваш основной файл go, в котором закодирована основная функция, и другие каталоги пакетов, другие файлы go под ними… Как правило, другие файлы go в пользовательских пакетах не содержат основной функции, конкретных функций, ориентированных на задачу. там закодированы.

Чтобы создать структуру, подобную этой;

  1. Создайте папку вашего проекта
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)