Earlier quoted context omitted.
the idea that error handling "pollutes" code is a misunderstanding which go addresses the "sad path" of error handling is equally as important as the "happy path"
How does it address it? By making it painstakingly verbose (not to mention error prone) to deal with errors? Not referring to you personally, but I've heard that sentiment several times now, and I have not seen anything to back it up (as with several other golang claims).
result, error = fn(...)
calling this function should yield to the caller two possibilities, somehow: a success value _or_ a failure errorthe important thing is that in both cases, the control flow is visible in the source code as written
result, error = fn(...)
if there was an error, ...
if it was successful, ...
when an expression fails, you want to see the consequence in-linethe success path and the failure path are equally important