Go 单例模式

Posted 知其黑、受其白

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Go 单例模式相关的知识,希望对你有一定的参考价值。

package main

import (
	"fmt"
	"sync"
)

// 定义单例
type singleton struct

var instance *singleton

// 保证只初始化一次
var once sync.Once

// 返回单例
func GetInstance() *singleton 
	once.Do(func() 
		instance = &singleton
	)
	return instance

func main() 
	// 测试
	s1 := GetInstance()
	s2 := GetInstance()
	fmt.Println(s1 == s2)

以上是关于Go 单例模式的主要内容,如果未能解决你的问题,请参考以下文章

Golang单例模式

Golang单例模式

设计模式-命令模式(Go语言描述)

设计模式-命令模式(Go语言描述)

开发那些事儿:如何利用Go单例模式保障流媒体高并发的安全性?

Go单例模式