Another approach using code generation is gen:
http://clipperhouse.github.io/gen/
(Disclaimer, I work with the guy behind it)
Personally these sorts of libraries just strengthen my opinion that golang really needs proper generics. However, if you're already gonna use Go they're pretty neat.