error.Error(errors.ErrUnsupported)
Почему это работает:
- errors.ErrUnsupported — реальная ошибка из пакета errors
- error — интерфейс
- Error — его метод
- метод в Go можно вызвать как обычную функцию через method expression
Поэтому:
err := errors.New("oops")
err.Error()
error.Error(err)
дадут одинаковый результат.
А:
error.Error(errors.ErrUnsupported)
вернёт:
"unsupported operation"
Непривычный синтаксис, который легко принять за ошибку, хотя это обычная возможность языка.




