生成UUID
概要: 使用go语言生成uuid
创建时间: 2022.08.24 20:59:32
更新时间: 2023.08.16 22:27:26
方式
本文使用 gofrs/uuid 包,生成随机数,包含以下四种:
- Version 1, based on timestamp and MAC address (RFC-4122)
- Version 3, based on MD5 hashing of a named value (RFC-4122)
- Version 4, based on random numbers (RFC-4122)
- Version 5, based on SHA-1 hashing of a named value (RFC-4122)
下面演示v1和v4
- v1: 使用本机的时间和Mac地址生成uuid
- v4: ;使用纯随机数生成uuid
Go源码
Go |
---|
| package main
import (
"fmt"
"github.com/gofrs/uuid"
)
func main() {
// V1: 时间+Mac地址
id, err := uuid.NewV1()
if err != nil {
fmt.Printf("uuid NewUUID err:%+v", err)
}
// id: c0216586-27ac-11e1-9fe0-acde48001122 length: 36
fmt.Println("id:", id.String(), "length:", len(id.String()))
// V4: 纯随机数
id, err = uuid.NewV4()
if err != nil {
fmt.Printf("uuid NewUUID err:%+v", err)
}
// id: 083c8325-b23b-4d38-bac5-3a50ca1bee7c length: 36
fmt.Println("id:", id.String(), "length:", len(id.String()))
}
|
参考