日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

设计模式--单例(Singleton)模式

發布時間:2025/3/21 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 设计模式--单例(Singleton)模式 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

模式意圖

保證一個類只用一個實例,并且提供一個全局訪問點

類圖

應用場景

1.需要更嚴格地控制全局變量時,使用單例模式;

2.重量級的對象如線程池對象,數據庫連接池對象,不需要多個實例的對象如工具類等。

工程目錄

Signle.go

package Singleimport "sync"type Single struct {data int }var singleton *Single var once sync.Oncefunc GetInterface() *Single{once.Do(func (){singleton = &Single{data: 100}}) //單例//singleton = &Single{data: 100} //非單例return singleton }

Signle_test.go

package Singleimport ("fmt""testing" )func TestSignle (t *testing.T) {s1 := GetInterface()s2 := GetInterface()if s1 == s2 {fmt.Println("單例")} else {fmt.Println("非單例")} }

總結

以上是生活随笔為你收集整理的设计模式--单例(Singleton)模式的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。