共計 496 個字符,預計需要花費 2 分鐘才能閱讀完成。
在 Go 語言中,可以通過以下兩種方式實現單例模式:
- 懶漢模式(Lazy Initialization):
type singleton struct {// 單例對象的屬性
}
var instance *singleton
// 獲取單例對象的方法
func GetInstance() *singleton {if instance == nil {instance = &singleton{}
}
return instance
}
這種方式在第一次調用 GetInstance()
方法時才會創建單例對象,之后再次調用時直接返回已創建的對象。
- 餓漢模式(Eager Initialization):
type singleton struct {// 單例對象的屬性
}
var instance *singleton = &singleton{}
// 獲取單例對象的方法
func GetInstance() *singleton {return instance
}
這種方式在程序啟動時就會創建單例對象,并且保證了在多線程環境下只會創建一個實例。
以上兩種方式都是基于 Go 語言的包級別變量和包級別函數來實現的,保證了單例對象的唯一性和全局可訪問性。
丸趣 TV 網 – 提供最優質的資源集合!
正文完