I'm no expert, but I think for ORM like you're referring to, the language would need features like generics, which Go doesn't have and may never have. At best there would be a code generator which would allow you to write your stuff in a higher-level language which would generate compilable and efficient Go code in turn.
Code generation is one way to get around generics. Go also stores all the type data at runtime so you can inspect the arguments passed to any function, which gives the same kind of generic behavior in any dynamically typed language.
So you definitely could implement an ORM in go without code generation - it's almost certainly been done.