单例模式
使用单例的目的是为了保证在整个系统中存在唯一的实例
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
原文地址:http://blog.51cto.com/12880687/2129472
时间: 2024-10-11 22:10:27