Files
service-common/utils/snowflake.go

31 lines
532 B
Go

package utils
import (
"github.com/sony/sonyflake/v2"
"log"
)
var instance *sonyflake.Sonyflake
func InitSnowflake(node int64) *sonyflake.Sonyflake {
n, err := sonyflake.New(sonyflake.Settings{
BitsMachineID: 10,
MachineID: func() (int, error) {
return int(node), nil
},
})
if err != nil {
log.Fatalf("create snowflake's node failed: %v", err)
}
instance = n
return instance
}
func SnowflakeInt64() int64 {
if instance == nil {
log.Fatal("snowflake's not init")
}
id, _ := instance.NextID()
return id
}