本文共 666 字,大约阅读时间需要 2 分钟。
使用单例的目的是为了保证在整个系统中存在唯一的实例
package mainimport ( "fmt" "sync")type IntAndString struct { num int32 str string}var m *IntAndStringvar once sync.Oncefunc 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 fdjkslfint 1, string helloint 1, string hello
转载于:https://blog.51cto.com/12880687/2129472