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]
相關文章
- PHP實現單例模式PHP單例模式
- 單例模式的實現單例模式
- Javascript實現單例模式JavaScript單例模式
- GoLang設計模式04 - 單例模式Golang設計模式單例
- golang設計模式之單例模式Golang設計模式單例
- 單例模式實現對比單例模式
- Kotlin實現單例模式Kotlin單例模式
- C++實現單例模式C++單例模式
- 設計模式-Java實現單例模式設計模式Java單例
- JS中的單例模式及單例模式原型類的實現JS單例模式原型
- DCL單例模式中的缺陷及單例模式的其他實現單例模式
- Golang 常見設計模式之單例模式Golang設計模式單例
- 【php實現設計模式】之單例模式PHP設計模式單例
- 設計模式——單例模式C++實現設計模式單例C++
- 利用static來實現單例模式單例模式
- 單例模式:5種實現方式單例模式
- 單例模式的各種實現單例模式
- Python中實現單例模式Python單例模式
- 單例模式 – 單例登錄檔與 Spring 實現單例剖析單例模式Spring
- 單例模式 - 單例登錄檔與 Spring 實現單例剖析單例模式Spring
- Go 實現常用設計模式(一)單例模式Go設計模式單例
- 用Python實現設計模式——單例模式Python設計模式單例
- 設計模式 - java程式碼實現單例模式設計模式Java單例
- 單例模式的 Java 實現與思考單例模式Java
- Java 利用列舉實現單例模式Java單例模式
- 五種方式實現 Java 單例模式Java單例模式
- 在Python中實現單例模式Python單例模式
- Python單例模式的實現方式Python單例模式
- 設計模式:單例模式的使用和實現(JAVA)設計模式單例Java
- 設計模式學習-使用go實現單例模式設計模式Go單例
- 【C++】實現一個簡單的單例模式C++單例模式
- JS實現單例模式的多種方案JS單例模式
- Python 5種方法實現單例模式Python單例模式
- Java 實現單例模式的 9 種方法Java單例模式
- 單例模式的各種實現方式(Java)單例模式Java
- 美團一面:會單例模式嗎,寫個單例看看?(8大單例模式實現方式總結)單例模式
- Python 實現工廠模式、抽象工廠,單例模式Python模式抽象單例
- 設計模式實踐--單例模式設計模式單例