什么是 uuid?
uuid 是 Universally Unique Identifier 的缩写,即通用唯一识别码。
uuid 的目的是让分布式系统中的所有元素,都能有唯一的辨识资讯,而不需要透过中央控制端来做辨识资讯的指定。如此一来,
每个人都可以建立不与其它人冲突的 uuid。
go 生成 uuid:
目前,golang 中的 uuid 还没有纳入标准库,我们使用 github 上的开源库:
go get -u github.com/satori/go.uuid
参考文档
https://gowalker.org/github.c…
package main
import ("github.com/satori/go.uuid")
func main() {
// 创建 UUID v4
u1 := uuid.Must(uuid.NewV4())
println(` 生成的 UUID v4:`)
println(u1.String())
// 创建可以进行错误处理的 UUID v4
u2, err1 := uuid.NewV4()
if err1 != nil {println(` 生成一个 UUID v4 时出现错误:`)
panic(err1)
}
println(` 生成的 UUID v4:`)
println(u2.String())
// 解析 字符串 到 UUID
u2, err2 := uuid.FromString(`6ba7b810-9dad-11d1-80b4-00c04fd430c8`)
if err2 != nil {println(` 解析 字符串 到 UUID 时出错 `)
panic(err2)
}
println(` 解析 字符串 到 UUID 成功!解析到的 UUID 如下:`)
println(u2.String())
}
PS D:golanggithubgolang_projectuuid> go run .uuid.go
生成的 UUID v4:
91e51481-23e7-4c32-873b-aa4b57a9fb46
生成的 UUID v4:
d82681c7-ddde-4425-9c60-9ed1cb7dc339
解析 字符串 到 UUID 成功!解析到的 UUID 如下:
6ba7b810-9dad-11d1-80b4-00c04fd430c8