Maybe a language like scala should fit your needs better ?
I am using it since 8 months and give me all those abstractions you speak about and its elegant synthax allow me to be very productive. I don't know if I am as productive as I would have been using go, but I am certainly more productive than using Java.
But this not a language as easy to pick up as go (even though I didn't have much problem to pick it up right out of school).
I also think it is much more difficult to write reliable software in go than it is in scala. The much stronger type system (generics, algebraic data type) help me to check the correctness of my program at compile time.