39 lines
794 B
Go
39 lines
794 B
Go
package main
|
|
|
|
import (
|
|
"fmt"
|
|
|
|
"esin.io/finlab/snowflake"
|
|
)
|
|
|
|
func main() {
|
|
|
|
// Create a new Node with a Node number of 1
|
|
node, err := snowflake.NewNode(1)
|
|
if err != nil {
|
|
fmt.Println(err)
|
|
return
|
|
}
|
|
|
|
// Generate a snowflake ID.
|
|
id := node.Generate()
|
|
|
|
// Print out the ID in a few different ways.
|
|
fmt.Printf("Int64 ID: %d\n", id)
|
|
fmt.Printf("String ID: %s\n", id)
|
|
fmt.Printf("Base2 ID: %s\n", id.Base2())
|
|
fmt.Printf("Base64 ID: %s\n", id.Base64())
|
|
|
|
// Print out the ID's timestamp
|
|
fmt.Printf("ID Time : %d\n", id.Time())
|
|
|
|
// Print out the ID's node number
|
|
fmt.Printf("ID Node : %d\n", id.Node())
|
|
|
|
// Print out the ID's sequence number
|
|
fmt.Printf("ID Step : %d\n", id.Step())
|
|
|
|
// Generate and print, all in one.
|
|
fmt.Printf("ID : %d\n", node.Generate().Int64())
|
|
}
|