- 单例模式
- 懒汉式(项目启动时就创建)
package main type Single struct {} var singleton *Single func init() { singleton = new(Single) }
- 饿汉式(使用时创建)
type SingleStruct struct { Name string `json:"name"` } var singleton *SingleStruct func Getsingleton(name string) *SingleStruct { singleton = &SingleStruct{Name: name} return singleton }
- 线程安全的饿汉式
type SingleStruct struct { Name string `json:"name"` } var singleton *SingleStruct var once sync.Once func Getsingleton(name string) *SingleStruct { once.Do(func() { singleton = &SingleStruct{Name: name} }) return singleton }
- 懒汉式(项目启动时就创建)
设计模式-golang
于 2023-03-30 14:53:47 首次发布