24 lines
537 B
Go
24 lines
537 B
Go
package util
|
||
|
||
import (
|
||
"fmt"
|
||
"time"
|
||
|
||
"github.com/sony/sonyflake"
|
||
)
|
||
|
||
var t = time.Unix(1594909810, 0) // 基准时间
|
||
|
||
var flake = sonyflake.NewSonyflake(sonyflake.Settings{
|
||
StartTime: t, // 必须设置基准时间,否则Sonyflake无法正常初始化
|
||
})
|
||
|
||
func GenSonyFlakeId() uint64 {
|
||
uuid, err := flake.NextID()
|
||
if err != nil {
|
||
fmt.Printf("生成SonyFlake ID失败: %v\n", err) // 明确错误信息
|
||
return 0 // 返回0表示生成失败(根据业务需求可调整)
|
||
}
|
||
return uuid
|
||
}
|