Go is nice, but do have a look at Rust!
What strikes me the most about Go - virtually no support for FP (functional programming).
Nowadays almost every programming language seems to have map/filter/reduce etcetera, so one of the first things I did when learning Go was look for those - but it's not there, everything's coded with old-fashioned imperative loops. This seems definitely a step back.
There are workarounds (code generation) but it's a kludge, what's sorely missing in the language is generics.
I know generics are on the Go 2 roadmap, the moment they add those a huge swath of reluctant people will convert to Go instantaneously, it's really a no-brainer.
In the meantime Rust might be an alternative, it's way more complex than Go but it's interesting and very well designed.
P.S. I just realized that Go doesn't have a ternary operator (value = x > 0 ? x : -x) ... confirmed by a StackOverflow answer. This is just an example of the fact that Go is simple, but in my opinion TOO simple. Choices like these mean that as a programmer you're forced to write a lot of verbose code and boilerplate. The more I think about it, the better Rust looks as an alternative ...
We're a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.