Go is a low level programming language so you are missing the mark with your criticism. The goal of Go was to be a step up from C programming. We can debate exactly where to place Go in the programming language pantheon, but the creators of Go clearly stated that Go was intended as a systems programming language. That implies lowlevel control over system resources such as memory.
I think it does that very well. As an old school C/C++ developer what I love about Go is that it allows me to work a lot like in those languages but I don't have to care about memory management other than in the more performance critical parts.
I don't think JNI is a relevant counterpoint. It is all about how accessible you make different kinds of coding. Pointers and value types are first class in Go and something every Go programmer will learn how to handle. You can program Java for a decade without ever touching JNI. Anyway JNI is an escape hatch and not an integral part of the language.