TGViewer
Thank Go! Thank Go! @thank_go · 3.33K subscribers
Post #281 2.12K
Ошибка ошибка ошибка ошибка

Это выражение выглядит странновато, но оно полностью корректно:


error.Error(errors.ErrUnsupported)


errors.ErrUnsupported — реальная, хотя и не слишком известная ошибка в пакете errors:


var ErrUnsupported = New("unsupported operation")


error — реальное название интерфейсного типа, а Error — метод на этом интерфейсе:


type error interface {
Error() string
}


Метод любого типа можно вызвать как обычную функцию, так что эти два вызова эквивалентны:


var err = errors.New("oops")
err.Error() // "oops"
error.Error(err) // "oops"


В результате получается так:


s := error.Error(errors.ErrUnsupported)
println(s)
// unsupported operation


🤓
  • ❤ 18
  • 🔥 7
  • 👍 6
  • 😁 3
More from @thank_go
  1. Sep 26, 2026Шпаргалка по многозадачности Подготовил интерактивную памятку по многозадачности в Go: — Г…
  2. Sep 2, 2026Множественный разврат возврат Сколько значений можно вернуть из функции через multi-return…
  3. Aug 30, 2026Post #280
  4. Aug 25, 2026JSON v2 в Go 1.27 Вторая версия json-пакета впервые появилась как экспериментальная в Go 1…
  5. Aug 12, 2026strings.CutLast Из небольших изменений в Go 1.27 я больше всего рад strings.CutLast. Эта ф…
  6. Aug 10, 2026Generic-методы и их последствия Думаю, «джавафикация» экосистемы Go только усилится с появ…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →