Maybe I'm bias, but one of my favorite "features" of Go is error handling.
One could argue that Go applications are stable due to a conscious result of having to think about all errors, everywhere, all the time. (unless you discard, but that'll be flagged in code reviews quickly 😉).
There were other packages, but this one worked really well and was simple.
So many folks adopted the "annotate, return and optionally inspect" pattern (I made this up, but that's the gist of it) that it only makes sense to have this functionality in the standard library.
Here were are, January 25, 2019. And a new proposal awaits us.
The GitHub discussion can be found here, and the proposal:
Proposal: Go 2 Error Inspection
We add a standard way to wrap errors to the standard library, to encourage the practice and to make it easy to use. We separate error wrapping, designed for programs, from error formatting, designed for people. This makes it possible to hide implementation details from programs while displaying them for diagnosis.
The language gets better as we continue contributing and sharing user experiences, discussing the pros and cons, etc.
Think about it, sleep on it, and whether you think it's 👍 or 👎 let's talk about it.
Join in on the conversation with Michael Fridman when you subscribe to Golang Toronto.