package syncx import "sync" func Once(fn func()) func() { once := new(sync.Once) return func() { once.Do(fn) } }