package main

import (
"fmt"
"github.com/chilts/sid"
"github.com/kjk/betterguid"
"github.com/oklog/ulid"
"github.com/rs/xid"
"github.com/satori/go.uuid"
"github.com/segmentio/ksuid"
"github.com/sony/sonyflake"
"log"
"math/rand"
"time"
) func genXid() {
id := xid.New()
fmt.Printf("github.com/rs/xid: %s\n", id.String())
} func genKsuid() {
id := ksuid.New()
fmt.Printf("github.com/segmentio/ksuid: %s\n", id.String())
} func genBetterGUID() {
id := betterguid.New()
fmt.Printf("github.com/kjk/betterguid: %s\n", id)
} func genUlid() {
t := time.Now().UTC()
entropy := rand.New(rand.NewSource(t.UnixNano()))
id := ulid.MustNew(ulid.Timestamp(t), entropy)
fmt.Printf("github.com/oklog/ulid: %s\n", id.String())
} func genSonyflake() {
flake := sonyflake.NewSonyflake(sonyflake.Settings{})
id, err := flake.NextID()
if err != nil {
log.Fatalf("flake.NextID() failed with %s\n", err)
}
fmt.Printf("github.com/sony/sonyflake: %x\n", id)
} func genSid() {
id := sid.Id()
fmt.Printf("github.com/chilts/sid: %s\n", id)
} func genUUIDv4() {
id,err := uuid.NewV4()
if err != nil {
fmt.Printf("get uuid error [%s]",err)
}
fmt.Printf("github.com/satori/go.uuid: %s\n", id)
} func main() {
genXid()
genKsuid()
genBetterGUID()
genUlid()
genSonyflake()
genSid()
genUUIDv4()
}

最新文章

  1. GSM07.10协议中串口复用使用的校验算法
  2. 关于项目中owl文件中的类定义和属性定义
  3. JS 关于(function( window, undefined ) {})(window)写法的理解
  4. Linux之Shell的算术运算
  5. 简单通过java的socket&serversocket以及多线程技术实现多客户端的数据的传输,并将数据写入hbase中
  6. 自己写ORM框架 SqlHelper_DG C#(java的写在链接里)
  7. Union的妙用和注意
  8. [Angular 2] ElementRef, @ViewChild & Renderer
  9. 在centos中创建nginx启动脚本
  10. The Sorrows of Young Werther
  11. lr 和 Qtp 视频连接
  12. mysql事物处理
  13. CCNA+NP学习笔记—交换网络篇
  14. The struts dispatcher cannot be found
  15. 【一天一道LeetCode】#34. Search for a Range
  16. Django ORM操作补充
  17. cocos2dx spine之一 :spine缓存 (c++ & lua)
  18. 为什么有时候在mac中启动一些应用时会跳的Windows中
  19. “数学口袋精灵”App的第二个Sprint计划----开发日记
  20. 使用openssl生成SSL证书完全参考手册

热门文章

  1. TCP基础概念
  2. pytorch GPU训练好的模型使用CPU加载
  3. caddy配置php-fpm
  4. 这是那些大佬程序员常用的学习java网站,这就是别人薪资上万的原因
  5. WANNACRY病毒中的加密技术分析
  6. Gym 101194D Ice Cream Tower
  7. Centos下安装Docker,并配置国内docker源
  8. 在线图片资源转换成Base64格式
  9. 源码学习VUE之Observe
  10. 详解如何使用gulp实现项目在浏览器中的自动刷新