Singlton Pattern

本文主要讨论了 Singleton Pattern 单例模式的 Go 实现

Singlton Pattern 单例模式

实现

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
package singleton

import "sync"

type singleton map[string]string

var (
once sync.Once

instance singleton
)

func New() singleton {
once.Do(func() {
instance = make(singleton)
})

return instance
}

使用

1
2
3
4
5
6
7
8
func main() {
s := singleton.New()
s["this"] = "singleton"

s2 := singleton.New()

fmt.Println("This is ", s2["this"])
}