在编程的很多场景下,我们需要确保某些操作在高并发的场景下只执行一次。例如只加载一次配置文件,只关闭一次通道等。
sync.Once只有一个Do方法。
var loadIconsOnce sync.Once func loadIcon() { } loadIconsOnce.Do(loadIcon)
← channel protobuf→