> The only thing in Go source code that you see more often than the boiler plate "if err != nil" is "a, _ = foo()".
Where did you see that ? because that's not been my experience at all, and I've looked at a lot of Go code.
> Go does absolutely nothing to ensure you handle the error.
Go has many community linters available, https://github.com/kisielk/errcheck is popular for checking unhandled errors.
If you'd like a combo-pack, check out https://github.com/golangci/golangci-lint which includes all of the popular linters in a configurable way.
Those linters won't catch everything. There are cases that will slip by. Rust's error handling, as well as exceptions are both strictly superior to golang's error handling.
This is fud, I've never seen in Go code people dropping the err with _.
The reason why you don't see that is because you have to be explicit about that, it's not something you forget it's done on purpose which obviously no one does.
The only thing in Go source code that you see more often than the boiler plate "if err != nil" is "a, _ = foo()".
It's all too easy to ignore an error in Go.