ARM技术论坛
直播中

贾飞世

7年用户 1821经验值
私信 关注
[资料]

利用golang优雅的实现单实例分享

1、利用golang优雅的实现单实例

平时编写代码过程中,经常会遇到对于全局角度只需运行一次的代码,比如全局初始化操作,设计模式中的单例模式。针对单例模式,java中又出现了饿汉模式、懒汉模式,再配合synchronized同步关键字来实现。其目的无非就是将对象只初始化一次,而且最好保证在用到的时候再进行初始化,以避免初始化太早浪费资源,或者两次初始化破坏单例模式的实例唯一性。

Go语言的sync包中提供了一个Once类型来保证全局的唯一性操作,其通过 Do(f func()) 方法来实现,即使** f** 函数发生变化,其也不会被执行,下面我们来看一个小例子:

1.jpg

原作者:小碗汤

更多回帖

发帖
×
20
完善资料,
赚取积分