Это была многоходовочка, чтобы в этом году грандизоно ввести дженерики.
Больше всего меня радует v // value - это реально нужно было еще постараться, чтобы к этому придти.
Ну, ошибки в Go на самом деле интересно решили обрабатывать, если думать об этом исключительно в рамках идиоматического кода и желательно микросервисов в облаках.
Я посмотрел несколько конференция и понял это так:
а) Ошибки в Go могут служить точкой дальнейшего исполнения команды и не обязательно должны быть обработаны, как точка выхода
b) Вместо этого точка выхода это либо nil, либо как в С-подобной программе - код выхода 0/1
с) Панику предлагают вообще не трогать без особого случая
Таким образом добивается устойчивость программ на Go и достаточная гибкость в обработке ошибок, как и их определении. Однако, бойлерплейта тонна и это раздражает, но эксперты говорили, что писать эти чеки в каждой функции - маветон.