From b61ac3cab6e5f1a07195c3bae4b153f12e7cb854 Mon Sep 17 00:00:00 2001 From: Bruce Marriner Date: Wed, 1 Jun 2016 15:15:24 -0500 Subject: [PATCH] Add working example --- README.md | 45 +++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 41 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index d8562c1..ecebb8c 100644 --- a/README.md +++ b/README.md @@ -17,7 +17,7 @@ This assumes you already have a working Go environment, if not please see go get github.com/bwmarrin/flake ``` -### Usage +### Usage Example Import the package into your project. @@ -30,8 +30,45 @@ the Generate method to get a unique ID. The only argument to the NewNode() method is a Node number. Each node you create must have it's own unique Node number. A node number can be any number from 0 to 1023. +** Example Program: ** + ```go -node, err := flake.NewNode(1) -id := node.Generate() -fmt.Printf("ID: %d, %s\n", id, id.String()) +package main + +import ( + "fmt" + "github.com/bwmarrin/flake" +) + +func main() { + + // Create a new Node with a Node number of 1 + node, err := flake.NewNode(1) + if err != nil { + fmt.Println(err) + return + } + + // Generate a snowflake ID. + id, err := node.Generate() + if err != nil { + fmt.Println(err) + return + } + + // 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()) +} ```