天天看點

go語言單例設計模式GO語言單例設計模式

GO語言單例設計模式

單例模式隻執行一次

//單例設計模式
func main() {
	//單例
	var once sync.Once
	//等待組
	var wg3 sync.WaitGroup
	# 定義一個函數
	f := func() {
		fmt.Println("hello")
	}
	wg3.Add(100)
	for i := 0; i < 100; i++ {
		go func() {
			defer wg3.Done()
			once.Do(f)
		}()
	}
	wg3.Wait()
}

結果:
hello