25 lines
450 B
Go
25 lines
450 B
Go
package utils
|
|
|
|
import (
|
|
"github.com/bwmarrin/snowflake"
|
|
"github.com/nacos-group/nacos-sdk-go/v2/common/logger"
|
|
)
|
|
|
|
var node *snowflake.Node
|
|
|
|
func InitSnowflake(machineID int64) (err error) {
|
|
node, err = snowflake.NewNode(machineID)
|
|
if err != nil {
|
|
logger.Errorf("snowflake Init error : s%", err)
|
|
return
|
|
}
|
|
|
|
return
|
|
}
|
|
|
|
// GenSnowflakeID 生成雪花算法id
|
|
// machineId 工作id
|
|
func GenSnowflakeID() int64 {
|
|
return node.Generate().Int64()
|
|
}
|