Я новичок в golang программировании, и я изучаю интерфейсы в go.
Когда гуглил, я наткнулся на этот блог в лабораториях Ардана. Приведенный ниже фрагмент находится в списке 5 . Полный код находится на go площадке здесь
type errorString struct {
s string
}
func New(text string) error {
return errorString{text}
}
В методе New оператор return возвращает структуру типа errorString
, но объявление функции говорит, что тип должен быть error
. Приведенный выше код не выдает никакой ошибки. Он компилируется и работает нормально.
Когда я изменил метод, как показано ниже, он все еще работает нормально.
func New(text string) errorString {
return errorString{text}
}
Как этот несовместимый тип работает в go?