В Go вы можете использовать клички (aliases) при импорте пакетов, чтобы сократить длинные имена. Однако, вы не можете напрямую импортировать несколько пакетов с одинаковым кратким именем. Тем не менее, вы можете создать один пакет, который будет импортировать все необходимые пакеты и затем экспортировать их переменные. Например, вы можете сделать следующее:
1. Создайте новый пакет, например `errs`, где вы будете объединять все свои ошибки из других пакетов.
2. Импортируйте необходимые пакеты внутри нового пакета и экспортируйте их переменные.
Если у вас есть структура папок, как вы описали, создайте пакет `errs` следующим образом:
### Структура файлов
```
│ err.go
│
├───account
│ errors.go
│
├───auth
│ errors.go
│
├───json
│ errors.go
│
├───registration
│ errors.go
│
└───errs
errors.go
```
### `errs/errors.go`
```go
package errs
import (
accountErrs "path/to/your/project/account"
authErrs "path/to/your/project/auth"
jsonErrs "path/to/your/project/json"
registrationErrs "path/to/your/project/registration"
)
// Экспортируем нужные ошибки
var (
UserNotFound = accountErrs.UserNotFound
NotActivatedAccount = accountErrs.NotActivatedAccount
// Добавьте остальные ошибки по аналогии
// ...
)
```
### В `err.go`
Теперь вы можете импортировать пакет `errs` и использовать его переменные:
```go
package main
import (
"path/to/your/project/errs"
)
func main() {
// Используйте ошибки из пакета errs
if someCondition {
fmt.Println(errs.UserNotFound)
}
}
```
Таким образом, вы сможете совместить ошибки из разных пакетов и использовать их с единым именем `errs`. Главное — убедиться, что все нужные переменные (например, `UserNotFound`, `NotActivatedAccount` и т.д.) экспортированы из соответствующих пакетов.