> At the minimum, the verbosity problem
I don't believe a single second that Java is more verbose than Go. It's just that Go hasn't been buried under layers and layers of EE ...yet. In fact the whole "if err!=nil" boilerplate is the very definition of verbosity.
> Go is inherently not a OO language
Everytime you use interfaces you are doing OOP. And there is no choice but using interfaces when dealing with streams, which is 99% of what people use Go for.
> has some excellent functional constructs
No more than the latest Java. In fact Java has something Go definitely doesn't have which is pretty useful for functional programming: generics.
> Finally, Go compiles to machine code and I guess it should be way faster than Java.
AOT compilation is coming to Java.