mirror of
https://github.com/tmrts/go-patterns.git
synced 2024-11-25 06:26:06 +03:00
21 lines
240 B
Go
21 lines
240 B
Go
package singleton
|
|
|
|
import (
|
|
"sync"
|
|
)
|
|
|
|
type Object struct {
|
|
}
|
|
|
|
var once sync.Once
|
|
var instance *Object
|
|
|
|
func GetInstance() *Object {
|
|
// Creates a singleton instance once.
|
|
once.Do(func() {
|
|
instance = &singleton{}
|
|
})
|
|
|
|
return instance
|
|
}
|