It's certainly better than C and most dynamic languages,
but that's not setting the bar very high.
I'm not sure I agree with that sentiment; C and dynamic languages are used in important applications and being better than them for the same tasks does seem to be a design goal of go. I personally feel that it accomplishes this in a number of areas. It is easy to pick up, understand, and use.
This is true and I think it's a huge benefit. But it is also very error prone, because its type system
is poorly suited for proper error handling, nulls and
generic code
That's your opinion. It's less safe than rust, more safe than python. I think it has a rather large niche. I personally like interfaces and that idiomatic golang testing uses language primitives.It's weird to me that people compare Go and Rust, they're languages with very different motivations.