一个golang的int64 ID生成库,已在生产环境中使用

Golang 归档:202305
普通
浏览:1518
2023-05-11 14:49:36
一个golang的id生成器,不连续,看着很随机。可以用在生产环境哦。

自己发布在github.com的一个ID生成库,可以解决在golang项目中,需要生成hash的id编号问题。我已经在自己的项目中使用,用于替换mysql的自增ID的问题。

代码原理:

  1. 使用 github.com/rs/xid 的uuid生成一个uuid string;
  2. 使用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
注意事项
  • 此文章对你有帮助,对作者表示感谢(微信):
  • 本文地址:https://22v.net/article/3284/
  • 转载本文时,请注明转载自“SamBlog”的字样。
  • 如此文章有损您的合法权益,请使用页面底部的邮箱与我取得联系。
分类目录
文章归档
友情站点