Skip to content

sdgdsffdsfff/idgen

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

id generator

Build Status license

介绍

  • 基于snowflake算法实现的id生成器
  • 这是go版本,java版本可查看IdWorker.java

使用

go get github.com/sumory/idgen

使用前请先了解snowflake算法,并知晓其注意事项.

基本使用

每个由idgen生成的id都是int64的正整数,且每个id都可以解析得到它的生成者的标识workerId.

workerId := 1
err, idWorker := idgen.NewIdWorker(workerId)
err, nextId := idWorker.NextId()
获取short Id

idgen使用baseN4go缩短id,具体参见baseN4go使用方法.

workerId := 1
err, idWorker := idgen.NewIdWorker(workerId)
err, nextId := idWorker.ShortId()
获取生成器标识workerId
workerId := 1
err, idWorker := idgen.NewIdWorker(workerId)
err, nextId := idWorker.NextId()
wId := idWorker.WorkerId(newId)//wId == workerId
其它

参见测试文件idgen_test.go和源文件

测试

需要goconvey支持

go get github.com/smartystreets/goconvey
go test -v -cover // or $GOPATH/bin/goconvey

About

id generator based on 'snowflake'

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Go 100.0%