平时编写代码过程中,经常会遇到对于全局角度只需运行一次的代码,比如全局初始化操作,设计模式中的单例模式.针对单例模式,java中又出现了饿汉模式.懒汉模式,再配合synchronized同步关键字来实现.其目的无非就是将对象只初始化一次,而且最好保证在用到的时候再进行初始化,以避免初始化太早浪费资源,或者两次初始化破坏单例模式的实例唯一性. Go语言的sync包中提供了一个Once类型来保证全局的唯一性操作,其通过Do(f func())方法来实现,即使 f 函数发生变化,其也不会被执行,下面我…