golang单例模式 - 并发安全模式

package core

import "sync"

var once sync.Once
// TestModel test数据库单例模式
type TestModel struct {

}

// TestModelObj 实例化对象
var TestModelObj *TestModel

// GetInstance 获取对象
func GetInstance() *TestModel{
    once.Do(func() {
        TestModelObj = &TestModel{}
    })
    return TestModelObj
}

使用once防止并发时候重复实例化

posted @ 2020-11-03 14:48  许伟强  阅读(353)  评论(0编辑  收藏  举报