So I really really like types, and as I get older and more wizened I've grown very fond of functional programming paradigms. Javascript and Typescript have a lot of FP baked in now, but Rust (and Swift actually) have some really nice FP-like features that while not going full Scala or Haskell give you a lot of the goodies without as many of the compromises that come from those languages.
Rust takes types very seriously (annoyingly so at times, but that's its shtick), go pretends to be strongly typed but is very easy to bully. So I feel like go is more like PHP (where I've done most of my professional work), in that it will let you do what you want, but has some guard rails that you can very easily hop across. The price you pay is the sheer verbosity of it, and that for me is where I admire what it is, but don't like what it is.
Rust is ... the arch linux of programming languages. Everything is hardwork and the pleasure in bending it to your will is where the 'fun' comes from.
Anyway, if you want to learn a trending language, learn both, a great practical app to develop is a simple rate quote cli that queries the bitstamp rest api for crypto or forex exchange rates. Use an LLM to help bootstrap your programs and ask questions and write a solution in both. Look at libs to handle arg parsing, colorising terminal output, try using different http backends, try different REST abstractions, and very quickly you get a feel for both languages.
You'll find you can get a solution out with go very quickly and have a good idea what's going on. You'll find rust hard going...until you don't. And then your preference for each language will come out, do you like the what you see is what you get (go) or im really clever look at my type safe cathedral (rust).
For me, i tend towards go for microservices in my professional work, a lot of it is http based and go is absolutely geared up for that. I also find LLMs can reason Go much better than rust (this is where verbosity and wysiwy is a plus!). If it is sensitiyve to single digit millisecond latency then I prefer rust, I don't have to worry about GC then.
Last point to make is regarding concurrency. Rust's concurrency support is immature relative to the rest of its std lib but tokio is quite nice. But frankly goroutines and channels are great for most usecases and very easy to work with and reason about.
*Edit* Rather than double posting, currently working on pong in 6502 assembly