Once 的作用是保证一个 Once 对象内的 Do 函数在多次调用的情况下只会被执行一次。
可用 Once 实现单例模式,详见 Singleton 单例
package mainimport ("fmt""sync")func main() {once1 := new(sync.Once)once1Func := func() {fmt.Println("once1 do function")}once2 := new(sync.Once)once2Func := func() {fmt.Println("once2 do function")}once1.Do(once1Func)once1.Do(once1Func)once1.Do(once1Func)once2.Do(once2Func)once2.Do(once2Func)once2.Do(once2Func)}

