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 }