通用唯一识别码(英语:universally unique identifier,简称uuid)是一种软件建构的标准,亦为自由软件基金会组织在分散式计算环境领域的一部份。 uuid的目的,是让分散式系统中的所有元素,都能有唯一的辨识信息,而不需要通过中央控制端来做辨识信息的指定。 如此一来,每个人都可以创建不与其它人冲突的uuid。 在这样的情况下,就不需考虑数据库创建时的名称重复问题。目前最广泛应用的uuid,是微软公司的全局唯一标识符(guid),而其他重要的应用,则有linux ext2/ext3文件系统、luks加密分区、gnome、kde、mac os x等等。
目前,golang中并没有uuid的标准库,所以需要借助第三方库。
谷歌出品的go语言uuid库
go get github.com/google/uuid
package main
import (
"fmt"
"github.com/google/uuid"
)
func main() {
u := uuid.New()
fmt.Println(u.String()) //32a64afc-a9ff-4555-8f8d-24b9316483f6
fmt.Println(u.ID()) //849758972
}