sync
once
var once sync.Onceonce.Do(func()) // 声明出来的once只能执行一次函数once.Do(func2()) // 这个就不会生效了
- sync.Once 唯一能保证的是:你的函数只能被调用一次
%23%20sync%0A%0A%23%23%20once%0A%0A%60%60%60golang%0Avar%20once%20sync.Once%20%0Aonce.Do(func())%20%20%2F%2F%20%E5%A3%B0%E6%98%8E%E5%87%BA%E6%9D%A5%E7%9A%84once%E5%8F%AA%E8%83%BD%E6%89%A7%E8%A1%8C%E4%B8%80%E6%AC%A1%E5%87%BD%E6%95%B0%0Aonce.Do(func2())%20%2F%2F%20%E8%BF%99%E4%B8%AA%E5%B0%B1%E4%B8%8D%E4%BC%9A%E7%94%9F%E6%95%88%E4%BA%86%0A%60%60%60%0A%0A*%20sync.Once%20%E5%94%AF%E4%B8%80%E8%83%BD%E4%BF%9D%E8%AF%81%E7%9A%84%E6%98%AF%EF%BC%9A%E4%BD%A0%E7%9A%84%E5%87%BD%E6%95%B0%E5%8F%AA%E8%83%BD%E8%A2%AB%E8%B0%83%E7%94%A8%E4%B8%80%E6%AC%A1%0A
