1. 程式人生 > >go 實現一個簡單的UUID生成器

go 實現一個簡單的UUID生成器

檢視原始碼

實現方法:

UUID 通過三部分組成 curtime << 22 | generaterid << 12 | sequenceid

具體原理如下:

首先每一個UUID生成器有一個id

在生成UUID的時候

先取當前時間距離1970的秒數作為高位,generaterid作為中間

如果本次生成的時間和上一次的時間相同,則sequenceid +1,否則sequenceid位0

然後把sequenceid作為uuid的低位

這樣在不修改系統時間的前提下可以保證每次生成的UUID唯一