Можно ли как то избавится от названия основного модуля при импорте Go файлов?
Есть название основного модуля который прописывается в директиве module файла go.mod (например "goproj").
В итоге импортируя например файлы из папки в корне internal/simple файлов go надо прописывать импорт goproj/internal/simple
Есть ли способ убрать из импорта название модуля "goproj" (в данном примере), чтобы просто импортировать /internal/simple или internal/simple, ну или еще как то не указывая имя модуля, чтобы не было привязки и при смене названия модуля не менять его везде в импортах?
Ну не надо оно вам. Поверьте. Как часто на практике приходится менять имя модуля? А если приходится, то что-то вы не так делаете.
Если всё же для вас это критично, то купите себе Jetbrains Goland. Там очень мощный рефакторинг. Например, изменив имя пакета при помощи опции "Rename", он попытается не только изменить все импорты этого пакета в проекте, но даже название директории пакета изменит.
К сожалению, в Go импорт пакетов жестко привязан к названию модуля, указанному в go.mod. Однако, один из способов минимизировать зависимость от имени модуля — использовать символические ссылки или добавить префиксы в пути импортируемых файлов внутри проекта. Также можно рассмотреть вариант использования replace в go.mod для управления зависимостями, но это работает только при разработке и требует явного указания пути к локальному файлу.
Если модуль разрабатывается как библиотека, можно вынести его в отдельный репозиторий и подключать его через go get, что позволит избежать жесткой привязки к конкретному имени проекта. Однако полностью убрать имя модуля из пути импорта стандартными средствами Go не получится, поскольку Go требует явного указания пути для обеспечения строгой структуры пакетов.