uuid是谷歌开发的生成16字节UUID的模块,实现了RFC4122;对UUID的v1,v2,v3,v4,v5等各个版本都有实现。一般来说,如果只是要生成唯一序列号的话,通常用v4版本,New()和NewRandom()都可以生成v4, New是对NewRandom的封装把error处理成panics了,但是理论上几乎是不会有发生panics的可能的。

func New() UUID
func NewRandom() (UUID, error)

示例如下:

package mainimport ("fmt""github.com/google/uuid"
)func main() {for i := 0; i < 10; i++ {id := uuid.New()fmt.Printf("%s %s\n", id, id.Version().String())}for i := 0; i < 10; i++ {id2,err := uuid.NewRandom()if err != nil{fmt.Printf("%v\n", err)}fmt.Printf("%s %s\n", id2, id2.Version().String())}
}

输出:

adba0f28-8489-4d99-a5c8-a12eb6c960c9 VERSION_4
0b92bb34-34b2-4f21-9bf8-70ac181b39b5 VERSION_4
177b9491-2ad2-4396-8fd3-f7440404f46f VERSION_4
c098c60b-4f98-4fe3-9fc3-7cec9a7c0717 VERSION_4
0b58b54c-a941-47c9-a889-5871e65b223d VERSION_4
96203b6d-b084-483b-af92-e5b2443cc29f VERSION_4
e5b32605-e017-4a22-9acb-5841ad28ebdd VERSION_4
15f9680e-432e-4faa-b631-53b6f7e70e9a VERSION_4
40f82f91-ef81-4303-a59c-58651f972795 VERSION_4
221e71ec-e9d1-4632-a3f6-0275b3a288ae VERSION_4
c1d4908a-9b9c-44fd-90f0-7e232f0e5ff1 VERSION_4
6027e676-b46a-4281-a1e0-b3bf6291998a VERSION_4
da589a0e-e172-4dac-bc4c-fc50c9624a6e VERSION_4
9c1fe414-3bec-4b7a-9187-b80ee97a1e67 VERSION_4
93fc7459-31c2-4dcb-be9a-e3c80d82453d VERSION_4
5339d058-7241-4f74-a6e3-27ad5d32ba74 VERSION_4
ed4efa2b-2954-4f46-bb0c-b65250494bde VERSION_4
a98c5172-a302-4ef2-967e-1029604ffd1f VERSION_4
b316af48-0c67-48bc-bba1-59c8d18f7685 VERSION_4
e4e39e07-3e15-4117-b572-73d553548249 VERSION_4

官方文档上说New方法可能会有panics,但从源码来看基本上没有报错的可能。会不会报错取决于"crypto/rand"的Reader能不能读满到16个随机字节,而Reader又是从Linux操作系统的getrandom(2) 读取若没有则从 /dev/urandom 读取,getrandom(2)的文档说256个字节以内都不会被信号中断,而/dev/urandom的文档也没有说会有报错的可能。所以理论上是没有报错的可能的。

其它uuid版本的使用方法请见:

《Go语言:谷歌google的uuid模块对uuid各个版本的实现(version 1,version 2,version 3,verison 4,version 5)》

Go语言:谷歌google的uuid模块的基本用法相关推荐

  1. c语言谷歌坐标转百度坐标,关于GPS定位经纬度到谷歌(google)坐标以及百度(百度)坐标的转换c#源码...

    关于GPS定位经纬度到谷歌(google)坐标以及百度(百度)坐标的转换c#源码 2020年08月10日 阅读数:31 这篇文章主要向大家介绍关于GPS定位经纬度到谷歌(google)坐标以及百度(百 ...

  2. 附答案 算法+数据结构+代码 微软Microsoft、谷歌Google、百度、腾讯

    经典面试题(一)附答案 算法+数据结构+代码 微软Microsoft.谷歌Google.百度.腾讯 分类: 微软.谷歌.百度等公司经典面试100题_20112012-09-10 00:34 896人阅 ...

  3. 制作一个多语言谷歌翻译 脚本

    1.修改host文件:C:\Windows\System32\drivers\etc 加入以下配置 # google translate 203.208.40.66 translate.google. ...

  4. Newspaper 一个能下载 38 种语言新闻文章的 Python 模块

    这是「进击的Coder」的第 485 篇技术分享 作者:Ckend 来源:Python 实用宝典 " 阅读本文大概需要 7 分钟. " Newspaper 是一个很棒的 pytho ...

  5. python函数的唯一标识_python基础教程Python通用唯一标识符uuid模块使用案例

    1. 背景知识: UUID: 通用唯一标识符 ( Universally Unique Identifier ), 对于所有的UUID它可以保证在空间和时间上的唯一性. 它是通过MAC地址, 时间戳, ...

  6. 指南:如何运用谷歌Google Shopping和Product Listing Ads

    指南:如何运用谷歌Google Shopping和Product Listing Ads 如果你在网上卖东西给外国人,那么你就没有理由不使用Google Shopping. 图片来源:123rf.co ...

  7. boost::uuid模块实现宽流存档测试序列化 uuid的测试程序

    boost::uuid模块实现宽流存档测试序列化 uuid的测试程序 实现功能 C++实现代码 实现功能 boost::uuid模块实现宽流存档测试序列化 uuid的测试程序 C++实现代码 #inc ...

  8. boost::uuid模块实现用窄存档测试序列化 uuid的测试程序

    boost::uuid模块实现用窄存档测试序列化 uuid的测试程序 实现功能 C++实现代码 实现功能 boost::uuid模块实现用窄存档测试序列化 uuid的测试程序 C++实现代码 #inc ...

  9. boost::uuid模块实现不同形式随机生成器的基准的测试程序

    boost::uuid模块实现不同形式随机生成器的基准的测试程序 实现功能 C++实现代码 实现功能 boost::uuid模块实现不同形式随机生成器的基准的测试程序 C++实现代码 #include ...

最新文章

  1. 约束,索引,rownumrownum
  2. C# (类型、对象、线程栈和托管堆)在运行时的相互关系
  3. SAP 电商云 Spartacus UI 页面的 page guard 是从什么地方解析的
  4. Ren获得Zcash技术咨询委员会资助,将在币安智能链上启动RenZEC流动性引导计划
  5. error processing request什么意思_从processing到Touchdesigner小教程
  6. WordCount案例实现的11种方法
  7. GoodTask for mac (任务管理器)
  8. 语音信号预加重与去加重(Matlab+Keil)
  9. incaseformat病毒专杀:怎么查杀incaseformat病毒?紧急扩散!
  10. 使用 validation 验证参数
  11. 微信支付 H5端 和小程序端 统一下单接口 4个JAVA源码文件代码
  12. CVPR2020交互式分割算法IOG的配置(Interactive Object Segmentation with Inside-Outside Guidance)
  13. Unity动态构建Mesh来绘制任意多边形(雷达图效果)
  14. 高效理解pytorch的backward需要scalar outputs
  15. Oracle PLSQL
  16. 计算机等级考试php,计算机等级考试查询系统
  17. java实现环形链表解决约瑟夫环问题
  18. 入门二叉平衡树的世界
  19. 记第十六次CCF CSP考试的经历
  20. iisxpi386 - 迅载网盘

热门文章

  1. sql语句查询部门最大业绩-最小业绩-业绩占比
  2. 腹肌介绍:肌肉图示和英文名称
  3. python+Playwright自动化刷课简直太神了
  4. 【数据分析】利用机器学习算法进行预测分析(一):移动平均(Moving Average)
  5. 如何搭建网络营销团队
  6. 【Android入门】7、多媒体:用 NotificationChannel 和 NotificationManager 实现系统通知、播放音频和视频
  7. 推荐好用的免费采集工具
  8. 2015年份大众点评数据统计分析 大众点评数据下载
  9. Number()函数
  10. bochs运行xp_bochs安卓模拟器,瞬间安卓变XP-已回复