2026-04-17 19:04:32 +08:00

24 lines
318 B
Go

package util
import (
"sync"
"github.com/bwmarrin/snowflake"
)
var (
nodeOnce sync.Once
node *snowflake.Node
nodeErr error
)
func NextID() (int64, error) {
nodeOnce.Do(func() {
node, nodeErr = snowflake.NewNode(1)
})
if nodeErr != nil {
return 0, nodeErr
}
return node.Generate().Int64(), nil
}