Rust:
- more versatile (both PRO and CON)
- better error handling (IMHO)
- more powerfull type system (i.e. more to learn but also more you can use to your advantage) (both PRO and CON)
- has good support for more different forms of concurrency¶llelism then go (your can use it better as a tool to play around with that forms) (both PRO and CON)
- LLVM backed (allowing cross language optimizations, I don't remember if they are currently on the way of being implemented in llvm or already implemented) (both PRO and CON)
Go:
- simple syntax
- mainly one form of concurrency¶llelism but backed into the language and all libs use that one (also very neat if you want to look into certain paradigm which are heavily based on this paradigm)
- as far as I know pretty solid "first party" library for common server middle ware task
- maybe some other things
Also in rust you have more control over memory, but for many use cases this doesn't matter that much until you scale up to a high degree, then there are some differences about package management but I can't judge those as I'm not experienced enough with using third party go libraries.
Another thing I haven't list is the rust borrow checker, it can be a bit of a handful to learn but it tends to force you to write better structured code so I think it's worthwhile even if you never again use rust later one.
Generally learning more programming languages (or more precise the concepts behind them and the concepts frequently used in libraries of them) can make you a much better programmer. And with learning I don't mean "going to be a experienced ... programmer" but just understanding the concepts good enough so that you can use them and recognize them when they appear in a different language with different syntax and naming.