1、设计模式分类3
2、Go Demo
2.1、单例模式
var m *Manager
type Manager struct {
}
var once sync.Once
func GetInstance() *Manager {
once.Do(func() {
m=&Manager{}
})
return m
}
- 饿汉式---个人推荐使用
- 懒汉式---需要注意线程安全
3、其他
- 工厂模式与策略模式区别
var m *Manager
type Manager struct {
}
var once sync.Once
func GetInstance() *Manager {
once.Do(func() {
m=&Manager{}
})
return m
}