Go is pretty low level compared to (even) java, not much of a win in terms of expressiveness or error handling. Seems like a lot of effort with minimal benefit.
I've found Go and Java to be at the same level of abstraction. Go has interfaces and structs, but leaves out implementation inheritance because its authors feel that's one of Java's bad points. Go also leaves out method overloading which causes us to think hard about what to name the numerous methods.
I don't know about the suitability of Go for Android though. Does Google have a secret project going on?
Officially, Java is the language of Android. Have a look at the last I/O fireside chat if you want to hear from them. Again, officially, they "don't see what rewriting all the API in another language would bring".
Google is deeply involved in improving Java with projects like Guava, Dagger, ..
There is a project to make Go run on Android, but it is only a hobby project from one of the Go engineers and only target the NDK (so no access to Android's APIs).
We have no way to know what they are working on under the covers, we need to assume that as far as we know, Java is here to stay...
IMHO, with Dagger, Guava, EventBus and a couple other niceties, it is possible to be productive with Android.
For me the biggest weakness of the platform from a dev point of view is that many things that are part of the platform on iOS (like elements of a ListView animating themselves when added/removed) need to be coded (with dirty and lengthy hacks). This part is improving (I am looking at you RecyclerView & RenderThread) but there is still a lot of ground to cover.
Not so secret. Go's 5g compiler can produce ARM code, runnable on an Android device. But Android's APIs are mostly Java, so for regular apps you have little benefit in using Go; for games, you could gain something.