TGViewer
Cross Join - канал о разработке Cross Join - канал о разработке @crossjoin · 3.82K subscribers
Post #572 3.37K
В Go 1.26 появится еще немного сахара

Как известно, тип error - это просто интерфейс, под которым может скрываться любой тип, который этот интерфейс реализует.

И для проверки и распаковки ошибки в переменную нужного типа применяется errors.As, но этот метод неудобен: надо сначала создавать переменную, а потом туда загонять значение



var appErr AppError
if errors.As(err, &appErr) {
fmt.Println("Got an AppError:", appErr)
}



Особенно это напрягает если есть цепочка if, else if ..., перед этой цепочкой надо создать все переменные.

Ну так вот, приняли proposal, который позволяет это сделать попроще. "type-safe, faster, and easier"


if appErr, ok := errors.AsType[AppError](err); ok {
fmt.Println("Got an AppError:", appErr)
}


Наличие дженериков в Go снова помогло улучшить стандартную библиотеку.

🫥 Cross Join - канал о разработке
⠀
antonz.org Go feature: Type-safe error checking errors.AsType is a modern alternative to errors.As.
  • 👍 21
  • 😭 6
  • ❤ 1
  • 👎 1
More from @crossjoin
  1. Sep 28, 2026Слышал недавно в каком-то подкасте мысль, что Haskell плохо подходит для вайбкодинга прост…
  2. Sep 26, 2026Антон Жиянов написал мини-книгу по Go-concurrency. Это что-то вроде плотного конспекта с и…
  3. Sep 22, 2026photo post
  4. Sep 14, 2026Поможем Руслану собрать фидбек. Проект некоммерческий 👆
  5. Sep 14, 2026AGBX (Agent Box) — небольшой open-source CLI для запуска Claude Code и Codex в изолированн…
  6. Sep 5, 2026Обалдеть, что творится. На Рейтерс вышла статья, в которой утверждается, что, помимо сканд…
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 →