go如何实现一个单例

理解单例:

在程序运行的周期内,只初始化一次,称为单例

在go中,我们可以使用两种方法来实现单例。

  1. init 方法
  2. sync.Once

init非常地简单,在程序运行的时候,提前把我们需要的资源初始化好,就可以实现一个简单单例了。

但是在程序的其他地方,如何控制只实现一次?

这里就需要使用到sync.Once.

Read more "go如何实现一个单例"