uuid是谷歌开发的生成16字节UUID的模块,实现了RFC4122;对UUID的v1,v2,v3,v4,v5等各个版本都有实现

一般来说, 如果只是要生成唯一序列号的话,通常用v4版本,New()和NewRandom()都可以生成v4, New是对NewRandom的封装把error处理成panics了,但是理论上几乎是不会有发生panics的可能的。

 1package main
 2
 3import (
 4	"fmt"
 5	"github.com/google/uuid"
 6)
 7
 8func main() {
 9	for i := 0; i < 10; i++ {
10		id := uuid.New()
11		fmt.Printf("%s %s\n", id, id.Version().String())
12	}
13
14	for i := 0; i < 10; i++ {
15		id2,err := uuid.NewRandom()
16		if err != nil{
17			fmt.Printf("%v\n", err)
18		}
19		fmt.Printf("%s %s\n", id2, id2.Version().String())
20	}
21}