package exampleimport ( "fmt" "sync")var m *singletonvar once sync.Oncefunc GetInstance() *singleton { once.Do(func() { m = &singleton{} }) return m}type singleton struct{}func (p singleton) DoWork() { fmt.Println("Do Work")}