I know, I know, Go don't have generics. I miss them, too. But on the other side -- it's simple, it's fast, vim go is great. Writing code is straightforward, it's readable. Golang is more like a better C (with a more consistent API and a garbage collection) with a feeling of a scripting language. It is not a "better Java".
Another language I (started to) like is Typescript. Not because I especially like the language or its syntax. It's because it is:
I solved the problem by writing a library which converts Golang structs to Typescript classes: github.com/tkrajina/typescriptify-golang-structs.
It's simple, you just:
tscriptify -package=package/with/your/models -target=target_ts_file.ts Model1 Model2