The libxl Go bindings are generated using a tool called c-for-go. This tool reads a YAML configuration file that contains information on how to generate the bindings. The configuration for these bindings is found here.
As of right now, the code generated will not build. Some issues can be fixed by hand, e.g. those caused by bugs in the translator. Others are changes needed in the libxl.yml configuration file.
Clone this fork of the Xen repository and checkout the libxl-go branch: