I think that Direct2D is a C++ API. (I think it is possible to do raw
Direct2D coding in C only but that is very painful.)
So it is not directly usable from Go.
Your best bet is to use SWIG to make a Go wrapper of the C++ API and
then use your Go API to do Direct2D programming.
(Unless someone already made a Go wrapper for Direct2D/DirectX then
use their Go API)