Да, публичные функции / переменные в a.go могут быть доступны через b.go и наоборот.Основная причина, по которой мы помещаем их в разные файлы, заключается в том, чтобы объединить все связанные методы и функции.Например: в сотруднике пакета:
- Объединение всех методов прецедента вместе в файле (давайте назовем его usecase.go)
- Объединение всех методов репозитория вместе в другом файле (давайте вызовемit repository.go)
- Объединение всех констант / перечислений как констант в другом файле (назовем это constants.go)
Все это доступно в рамках одного сотрудника пакета домена.Каждый файл может получить доступ к другим файлам открытых переменных / функций.Здесь usecase.go GetEmployeeData () будет обращаться к repository.go> GetEmployeeForID (ID int) Аналогичным образом, тот же метод GetEmployeeData () будет обращаться к константе константы.go Employee_Type, чтобы определить некоторую логику на ее основе.
Мы группируем вещив файл и попробуйте сделать его маленьким и легко читаемым.Надеюсь, это поможет.