单例模式
作者:互联网
单例模式
使用标准库
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
}
标签:Singleton,单例,package,singleton,模式,func,NewSingleton,struct 来源: https://www.cnblogs.com/mathsmouse/p/16691671.html