golang實現單例模式
package main
import (
"sync"
"fmt"
)
type singleton map[string]string
var (
once sync.Once
instance singleton
)
func New() singleton {
once.Do(func() {
instance = make(singleton)
})
return instance
}
func main() {
s := New()
s["test1"] ="aa"
fmt.Println(s)
s1 := New() //沒有重新初始化
s1["test2"] = "bb"
fmt.Println(s1)
}
列印結果:
map[test1:aa]
map[test1:aa test2:bb]
相關文章
- golang如何實現單例Golang單例
- PHP實現單例模式PHP單例模式
- Rust實現單例模式Rust單例模式
- golang設計模式之單例模式Golang設計模式單例
- GoLang設計模式04 - 單例模式Golang設計模式單例
- 單例模式實現對比單例模式
- 單例模式c++實現單例模式C++
- Python中實現單例模式Python單例模式
- 單例模式 – 單例登錄檔與 Spring 實現單例剖析單例模式Spring
- DCL單例模式中的缺陷及單例模式的其他實現單例模式
- JS中的單例模式及單例模式原型類的實現JS單例模式原型
- Golang 常見設計模式之單例模式Golang設計模式單例
- 【php實現設計模式】之單例模式PHP設計模式單例
- 用Python實現設計模式——單例模式Python設計模式單例
- 利用static來實現單例模式單例模式
- 單例模式:5種實現方式單例模式
- 單例模式的各種實現單例模式
- Go 實現常用設計模式(一)單例模式Go設計模式單例
- Java 利用列舉實現單例模式Java單例模式
- 單例模式的 Java 實現與思考單例模式Java
- 五種方式實現 Java 單例模式Java單例模式
- Python 5種方法實現單例模式Python單例模式
- Python 實現工廠模式、抽象工廠,單例模式Python模式抽象單例
- 設計模式:單例模式的使用和實現(JAVA)設計模式單例Java
- 設計模式學習-使用go實現單例模式設計模式Go單例
- Java 實現單例模式的 9 種方法Java單例模式
- Python單例模式(Singleton)的N種實現Python單例模式
- 單例模式的各種實現方式(Java)單例模式Java
- JS實現單例模式的多種方案JS單例模式
- 美團一面:會單例模式嗎,寫個單例看看?(8大單例模式實現方式總結)單例模式
- 你真的會寫單例模式嗎——Java實現單例模式Java
- C++ std::call_once 實現單例模式C++單例模式
- python如何實現單例模式?常用方法彙總!Python單例模式
- 使用sync.Once實現高效的單例模式單例模式
- Java設計模式——實現單例模式的七種方式[JZOF]Java設計模式單例
- JAVA中實現單例(Singleton)模式的八種方式Java單例模式
- C# 單例模式的實現和效能對比C#單例模式
- 說說你對單例模式的理解?如何實現?單例模式