snowflake.go 337 B

123456789101112131415161718192021
  1. package utils
  2. import (
  3. "time"
  4. "github.com/bwmarrin/snowflake"
  5. )
  6. var node *snowflake.Node
  7. func InitSnowflake(st time.Time, machineID int64) (err error) {
  8. snowflake.Epoch = st.UnixNano() / 1e6
  9. node, err = snowflake.NewNode(machineID)
  10. return
  11. }
  12. // 生成 64 位的 雪花 ID
  13. func GenID() int64 {
  14. return node.Generate().Int64()
  15. }