[edit]
Though maybe I was thinking of adding parameters like https://play.golang.org/p/FKUMlQzCI5
In any case 'thebaer continues to be my hero.
We have a small library of functions for sweeping up error returns, and for collecting errors from multiple functions and checking them all at once. It helps a lot.
Golang is very much on to something with it's "errors are values" philosophy, but I'd be the first to acknowledge that it's not a fully baked philosophy. It is weird to discover fundamental things about how to structure basic code several years into writing in a language, but that happens somewhat regularly with Go.
I'll be over here muttering to myself about monadic error values...don't mind me.
Edit: prodigal_erik found it: https://golang.org/ref/spec#Calls
That sucks to see people making a mess with error handling code, but there are examples of good uses out there. This [0] is one I quickly found.