У меня есть псевдоним типа "LogLevel", который представляет собой строку:
type LogLevel string
const (
InfoLevel LogLevel = "info"
DebugLevel LogLevel = "debug"
WarnLevel LogLevel = "warn"
ErrorLevel LogLevel = "error"
PanicLevel LogLevel = "panic"
FatalLevel LogLevel = "fatal"
)
Теперь я хотел бы сделать переключение для проверки этих констант по отношению к пользовательскому вводу:
switch strings.ToLower(input) {
case "", InfoLevel:
return zap.NewAtomicLevelAt(zap.InfoLevel)
default:
fmt.Errorf("Invalid log level supplied '%s'. Defaulting to info loglevel", input)
return zap.NewAtomicLevelAt(zap.InfoLevel)
}
Это не работает, потому что, по-видимому, типы несовместимы?
неверный регистр InfoLevel в переключателе на строках.
Как я могу использовать определенные константы в случаях?