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 }