一个golang的int64 ID生成库,已在生产环境中使用
自己发布在github.com的一个ID生成库,可以解决在golang项目中,需要生成hash的id编号问题。我已经在自己的项目中使用,用于替换mysql的自增ID的问题。
代码原理:
- 使用 github.com/rs/xid 的uuid生成一个uuid string;
- 使用golang的crc32,把uuid转换成int64;
项目地址:
https://github.com/zituocn/ids
安装
go get github.com/zituocn/ids
项目中使用
id:=ids.New()
使用demo
package main
import (
"fmt"
"github.com/zituocn/ids"
)
func main() {
for i := 0; i < 10; i++ {
fmt.Println(ids.New())
}
}
输出:
3965461245
4773867
4115076028
1326006572
3120989563
1444049005
2736632890
2101289902
2284906489
1680085743