I like go because it's not object oriented. This forces me to read the implementation of the algorithm, not follow an abstraction hierarchy.
I like Java as well. It can be difficult to read the implementation when you are surrounded with classes. That was the point I was trying to make.
If you are thinking in generic containers and are programming in Go, you either chose the wrong language or need to change how you are thinking.