Go语言的单例模式(Singleton)

时间:2022-05-04
本文章向大家介绍Go语言的单例模式(Singleton),主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

单例模式(Singleton):表示一个类只会生成唯一的一个对象。单例模式具有如下性质:

A.这些类只能有一个实例;

B.这些能够自动实例化;

C.这个类对整个系统可见,即必须向整个系统提供这个实例。

package singleton

 

import "fmt"

 

var _instance *object

 

type object struct {

    name string

}

 

func Instance() *object {

   if _instance == nil {

       _instance = new(object)

   }

   return _instance

}

 

func (p *object) Setname(name string) {

    p.name = name

}

 

func (p *object) Say() {

    fmt.Println(p.name)

}