id generator based on 'snowflake'
MIT License
snowflake
算法实现的id生成器go get github.com/sumory/idgen
使用前请先了解snowflake
算法,并知晓其注意事项.
每个由idgen生成的id都是int64的正整数,且每个id都可以解析得到它的生成者的标识workerId
.
workerId := 1
err, idWorker := idgen.NewIdWorker(workerId)
err, nextId := idWorker.NextId()
idgen使用baseN4go缩短id,具体参见baseN4go使用方法.
workerId := 1
err, idWorker := idgen.NewIdWorker(workerId)
err, nextId := idWorker.ShortId()
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