项目作者: barbarbar338

项目描述 :
✨ Generate unique IDs
高级语言: Go
项目地址: git://github.com/barbarbar338/snowflake.git
创建时间: 2021-04-17T18:58:48Z
项目社区:https://github.com/barbarbar338/snowflake

开源协议:GNU General Public License v3.0

下载


✨ Generate Snowflake

Generate unique IDs. Inspired by Twitter’s Snowflake system.

📦 Installation

  • Initialize your project (go mod init example.com/example)
  • Add package (go get github.com/barbarbar338/snowflake)

🤓 Usage

  1. package main
  2. import "github.com/barbarbar338/snowflake"
  3. func main() {
  4. // create a new factory with your projects EPOCH and machineID
  5. s := snowflake.NewFactory(1420070400000, 0)
  6. id := s.Generate() // Some unique snowflake ID (eg: 17447384661725548544)
  7. }

💻 How It Works?

  1. EPOCH: 1420070400000
  2. Snowflake: 17447384661725548544
  3. Binary: 1011110001000000010100000111000110011001000001000000000000
  4. Timestamp: 4159708641244
  5. MachineID: 1
  6. Sequence: 0
  7. ●-----------------------------------------------------------------●
  8. Binary
  9. 10111100010000000101000001110001100110010 00001 000000000000
  10. Timestamp MID Sequence

🧦 Contributing

Fell free to use GitHub’s features.