其他分享
首页 > 其他分享> > 单例模式

单例模式

作者:互联网

单例模式

使用标准库

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