The differences between Go and Rust error handling is that Go doesn’t force you to handle its errors. Nothing bad happens if you just forget or don’t handle the error.
In Rust if you just unwrap it’s going to panic and in exception based languages it’s going to propagate until someone handles the error.
I personally don’t think Go error handling is going to go down in history as good.
I agree Rust's error handling is better and you can criticize some decisions in Go's error handling. I mean it also has these weird hybrid exception-like things (ie panics).
But the main point is that Go (and Rust) moved away from exception-as-control-flow that C++, C# and Java had adopted.
I don't like Go error handling either (and I do like Rust) - but if the argument is against exceptions because of confusing flow, then there's a case for it in some languages I think - e.g. it's what you'd choose for Python if nobody had come up with exceptions (or they fell out of favour in time) for example.
Aside for not having to handle errors in Go, the type system itself makes error handling less useful. Rust's error handling is superior to Go's in every way I can think of.
In Rust if you just unwrap it’s going to panic and in exception based languages it’s going to propagate until someone handles the error.
I personally don’t think Go error handling is going to go down in history as good.