depends on the problem domain! :)
they have a different focus. While go is awesome in it's tooling the idea was to improve developer speed while the focus of rust was to write engines.
GO has a GC and is way easier to get productive with. It's a small toolset which works great in for example: a micro-service architecture.
But since there is no memory control it is not that suitable for real embedded systems as a counter example.
So in short an simple, Go is a great tooling language where you can build small services, great for concurrency, real nice for the modern web backend and general API designs. The language has a reduced set so it's easy to learn and getting productive in it.
Rust is a language that is great for safety and control, the language is harder to learn. The concepts are more advanced. The efficiency in regards of resources is way better than GO, but in comparison with the ease and programmer accessibility of GO it's a trade where you really should think about if you need the sophistication of Rust.
In certain areas like game engines, embedded systems picking GO cannot hold a candle.
So on a superficial level we can compare them to some degree with each other, but one is built to build high efficient engines and the other one more to build efficient applications.
At least that's how I come to see it and I like both languages very much.