1. Type safety and inferred types
Go is type safe by default, which allows you to right more reliable code and have better developer tooling, plus with the
:= operator, you can initialize a variable without having to define its type because it automatically gets its type from the initial value.
There isn't much to be said here, but on most counts go beats both Python and Node.js on performance.
I'm not talking about the Go language itself, although it does have good docs. I'm talking about Go's auto generated documentation tool, which allows people to document their packages easily and works amazingly with Go's type system.
4. Compiles to binary
If you are making a local program for somebody and they don't want to download the Go compiler, you can make Go into a native binary.
5. Built for the web
Go has built in Http libraries to rival Express.js and has a HTML/Text templating system.
6. Great Concurrency
Go utilizes Goroutines to help developers utilize multiple threads easily.
Go is an excellent choice for any system code, especially http networking and web backends.
As a Python developer for the last two years and new to go, I definitely agree with you on all those points. I think most people choose Python at the beginning mainly because its really easy to use, has some amazing libraries.
With typescript and a documentation library node can have points 1) and 3).
Node is also pretty fast, although with go being compiled it might be slightly faster. Do you have any links showing perf gains w/ go?
Also, there is a bunch of stuff I forgot to add, like the fact that Go has built in Http libraries that rival Express.js and a HTML templating system built in. I will edit the post to add more reasons.
EDIT: Node.js is great, in fact I use it a lot, but in lots of cases Go works well too.