package ulid import ( "crypto/rand" "sync" "github.com/oklog/ulid/v2" ) var ( entropy *ulid.LockedMonotonicReader entropyOnce sync.Once ) func New() string { entropyOnce.Do(func() { entropy = &ulid.LockedMonotonicReader{ MonotonicReader: ulid.Monotonic(rand.Reader, 0), } }) return ulid.MustNew(ulid.Now(), entropy).String() }