В общем у меня вот такая структура папки:
│ err.go
│
├───account
│ errors.go
│
├───auth
│ errors.go
│
├───json
│ errors.go
│
└───registation
errors.go
В err.go такой код:
code
package errs
// Error codes:
// Account: 0-99
// Auth: 100-199
// Registration: 200-299
// JSON: 300-399
type CustomError struct {
Message error `json:"-"`
Code int `json:"error_code"`
Type string `json:"error_type"`
}
func (e *CustomError) MessageError() error {
return e.Message
}
func (e *CustomError) MessageString() string {
return e.Message.Error()
}
А в остальных errors.go идут сами ошибки, пример account/errors.go
code
package errs
import (
"errors"
"moda/internal/tools/errs"
)
const accountErrorType = "account_error"
// Codes: 0-99
var (
UserNotFound = errs.CustomError{
Message: errors.New("user not found"),
Code: 1,
Type: accountErrorType,
}
NotActivatedAccount = errs.CustomError{
Message: errors.New("not activated account"),
Code: 2,
Type: accountErrorType,
}
)
Я хочу сделать, чтобы я мог импортировать данные переменные(UserNotFound, NotActivatedAccount и др. с других папок), через errs, т.е:
code
import (
"fmt"
errs "moda/internal/tools/errs"
)
func main() {
fmt.Println(errs.NotActivatedAccount)
}
но получается только так:
code
package main
import (
"fmt"
errs "moda/internal/tools/errs/account"
)
func main() {
fmt.Println(errs.NotActivatedAccount)
}
Можно ли это как-то сделать без:
accountErrs "moda/internal/tools/errs/account"