How does one implement the Singleton design pattern in the go programming language?
Before trying to find a way to bend Go to your will, you might want to take a look at some articles:
SINGLETON - the anti-pattern!
Singletons are Pathological Liars
Root Cause of Singletons.
In summary, over time people have found singletons to be less than optimal, and imho especially if you are trying to do any test-driven development: on many levels they are pretty much as bad as global variables.
[disclaimer: I know its not a strict answer to your question but it really is relevant]