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
|
||
|
}
|