Go语言单例模式:全局唯一实例
1. 饿汉式单例
type Singleton struct { data string } var instance *Singleton = &Singleton{data: "singleton"} func GetInstance() *Singleton { return instance }2. 懒汉式单例
type LazySingleton struct { data string } var ( lazyInstance *LazySingleton once sync.Once ) func GetLazyInstance() *LazySingleton { once.Do(func() { lazyInstance = &LazySingleton{data: "lazy singleton"} }) return lazyInstance }3. 总结
单例模式确保一个类只有一个实例,sync.Once可以保证线程安全的懒加载。