I've made a COM library for my own use. I think it's easier to use than mattn/go-ole. Since you asked, I put it on Google Code: code.google.com/p/com-and-go
... Just discovered, some portions are autogenerated.
This is very unusual to me, so was not immediately obvious.
You can do the same in your own code, and run mkcomcall on it, if you want to avoid the overhead of IDispatch. But mkcomcall can't handle method parameters that are larger than uintptr—like VARIANT.