首页 > 编程语言 > 详细

Go语言中的单例模式

时间:2018-06-14 20:35:31      阅读:153      评论:0      收藏:0      [点我收藏+]
单例模式

使用单例的目的是为了保证在整个系统中存在唯一的实例

package main

import (
        "fmt"
        "sync"
)

type IntAndString struct {
        num int32
        str string
}

var m *IntAndString

var once sync.Once

func GetInstance() *IntAndString {
        once.Do(func() {
        m = &IntAndString{num:1, str:"fdjkslf"}
        })
        return m
}

func (m *IntAndString) String() {
        fmt.Printf("int %v, string %v\n", m.num, m.str)
}

func main() {
        tmp := GetInstance()
        tmp.String()
        tmp.str = "hello"
        tmp1 :=  GetInstance()
        tmp1.String()
        tmp.String()
}

运行结果

int 1, string fdjkslf
int 1, string hello
int 1, string hello

Go语言中的单例模式

原文:http://blog.51cto.com/12880687/2129472

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!