在 Go 语言中,没有类的概念。但是可以使用结构体和方法来实现单例模式。
下面是一个简单的例子:
package singleton
type Singleton struct{}
var instance *Singleton
func GetInstance() *Singleton {
if instance == nil {
instance = &Singleton{}
}
return instance
}
通过 GetInstance 方法获取单例对象,在第一次调用时创建实例并返回,后续调用则直接返回已创建的实例。
使用方式如下:
s1 := singleton.GetInstance()
s2 := singleton.GetInstance()
if s1 == s2 {
fmt.Println("同一个实例")
} else {
fmt.Println("不同的实例")
}




