用Golang程序生成GUID或UUID的例子

6,901 阅读2分钟

Golang Operators examples

在本教程中,了解了如何在golang中使用go.uuid和google.uuid包生成GUID。

唯一标识符是一个唯一的字符串,用来表示软件应用中的信息。

在应用程序中使用两种类型的唯一标识符:

  • UUID - 普遍唯一的标识符。
  • GUID - 全局唯一标识符

这些在数据库中用于列,作为MongoDB或SQL数据库的主键。而且还可以在前端应用程序中存储cookie或session-id。

UUIDGUID是别名,两者所指相同,包含16个字节或128位的大小,由连字符分隔成5组。

在Go语言中,我们有多种方法可以生成唯一的标识符

在这个例子中,我们将使用google/uuid 包来生成uuid。

在Go语言中生成UUID

安装该软件包

go get github.com/google/uuid

下面是一个用Go语言生成UUID的例子程序

package main

import (
  "fmt"
    "github.com/google/uuid"
)

func main() {
    uuidValue := uuid.New()
  fmt.Println("%s", uuidValue)
}

以及输出结果

ce547c40-acf9-11e6-80f5-76304dec7eb7

用围棋语言生成UUID

安装软件包

go get github.com/google/uuid

下面是一个用Go语言生成UUID的示例程序

package main

import (
  "fmt"
    "github.com/google/uuid"
)

func main() {
    uuidValue := uuid.New()
  fmt.Println("%s", uuidValue)
}

以及输出结果

ce547c40-acf9-11e6-80f5-76304dec7eb7

在Go语言中生成所有版本的UUID

go.uuid 包是流行的生成UUID的所有V1,V2,V3,V4,V5版本。

接下来,在命令行中,用以下命令安装一个包

go get github.com/satori/go.uuid

在golang中生成所有版本的UUID的程序示例

package main

import (
  "fmt"
  "github.com/satori/go.uuid"
)

func main() {
    v1value, err := uuid.NewV1()
    fmt.Println("%s", myuuid)

    v2value, err := uuid.NewV2()
    fmt.Println("%s", v2value)
    
    v3value, err := uuid.NewV3()
    fmt.Println("%s", v3value)
    
    v4value, err := uuid.NewV4()
    fmt.Println("%s", v3value)
    
    v5value, err := uuid.NewV5()
    fmt.Println("%s", v4value)
}

输出

8e6a0a6b-895d-4a06-80b4-1f59e3be595e
bade98bd-c2b0-4430-9038-0196c7f16dfc
e2f35db9-11b3-4353-aa7c-1f578bd142e6
b351ec0c-5c93-4474-9c31-ad13b0960b97
e1e2c956-7f42-4e4d-bcea-47ca6ee19e9e