单例模式设计模式Golang

单例模式

单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例,这个类称为单例类,它提供全局访问的方法。

单例模式的主要使用场景有以下两个方面:

  1. 资源共享情况下避免资源操作导致的性能损耗,比如日志管理器,web网站计数器,应用配置管理对象等
  2. 方便对资源的控制,比如线程池和数据库连接池等
1
2
3
4
5
6
7
8
9
10
11
12
13
type singleton map[string]string

var (
once sync.Once
instance singleton
)
func New() singleton {
once.Do(func() {
instance = make(singleton)
})
return instance
}

Powered by Hexo and Hexo-theme-hiker

Copyright © 2018 - 2021 Noonde All Rights Reserved.

UV : | PV :