设计模式一般遵守 “开放封闭” 原则,即对拓展开放,对修改封闭。单例模式 Singleton Pattern保证一个类只有一个实例,并提供全局调用。它是最简单的设计模式,也是少有的违反 “开放封闭” 的模式。常用实例:数据库读写工具类、配置文件读取type SingleTon struct{} var mu sync.Mutex var instance *SingleTon func getInstance() *SingleTon { mu.Lock() defer mu.Unlock() if instance == nil { instance = &SingleTon{} } return instance } func getInstance2() *SingleTon { if instance == nil { mu.Lock() if instance == nil { instance = &SingleTon{} } mu.Unlock() } return instance } var once sync.Once func getIn...