单例模式

  1. Singleton Pattern
  2. 实现
    1. 单例定义
    2. 使用

Singleton Pattern

  单例模式限制了一个类型只有一个对象。关于单例模式的饿汉模式和懒汉模式,线程安全的问题,在这里不做描述。

实现

单例定义

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

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(){
instance_1 := singleton.GetInstance()
instance_1["this"]="that"

instance_2 := singleton.GetInstance()
s := instance_2["this"]
fmt.Println(s)
}


Author:寒江雪
Date:2018 03 10

转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以邮件