单例模式
单例模式
使用标准库
package singleton
var (
once sync.Once
singleton *Singleton
)
type Singleton struct{}
func NewSingleton() *Singleton{
once.Do(func(){
singleton = &Singleton{}
})
return singleton
}
不使用标准库
package singleton
var singleton *Singleton
type Singleton struct{}
func NewSingleton() *Singleton{
if singleton == nil {
singleton = *Singleton{}
}
return singleton
}

浙公网安备 33010602011771号