add example

This commit is contained in:
finlab 2020-12-27 16:38:16 +08:00
parent bb688a618b
commit d51ab3304e
3 changed files with 45 additions and 0 deletions

5
example/go.mod Normal file
View File

@ -0,0 +1,5 @@
module esin.io/finlab/demo
go 1.15
require esin.io/finlab/snowflake v0.0.0-20201227082138-bb688a618b0e // indirect

2
example/go.sum Normal file
View File

@ -0,0 +1,2 @@
esin.io/finlab/snowflake v0.0.0-20201227082138-bb688a618b0e h1:/FUv+dmC0G1+ftZdT8r4Vg5ZV2Udx9BFdkDRNG+V8K0=
esin.io/finlab/snowflake v0.0.0-20201227082138-bb688a618b0e/go.mod h1:lFosyt/rdezHRPTLulKiH1MwfSCwaPD40ZcdSBKzy/4=

38
example/main.go Normal file
View File

@ -0,0 +1,38 @@
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())
}