Сгенерировать UUID в Golang

Опубликовано: 9 Сентября, 2022

UUID означает универсальный уникальный идентификатор. Это 128-битное значение, используемое для фонда уникальной идентификации (OSF).
UUID обеспечивают уникальность, поскольку они генерируют идентификаторы на основе времени, движения курсора, системного оборудования (MAC и т. д.) и т. д.
В результате очень вероятно, что UUID уникальны в пространстве и времени, и их очень трудно угадать, поскольку они основаны на множестве факторов. Пакет UUID в этой статье создает и проверяет UUID на основе RFC 4122 и DCE 1.1: Службы аутентификации и безопасности.

Преимущества UUID:

  • Его можно использовать как общую утилиту для создания уникального случайного идентификатора.
  • Его также можно использовать в криптографии и приложениях для хеширования.
  • Это полезно для генерации случайных документов, адресов и т. д.

Сгенерировать UUID в Golang

Перед генерацией UUID в первую очередь мы инициализируем проект go. Итак, создайте пустой каталог для нового проекта. Инициализировать с помощью команды инициализации: go mod init имя_проекта. Это создает файл go.mod.

Пример:

go mod init gfg

Создайте новый файл main.go.

Выход:

Результирующая структура каталогов:

Код go можно добавить в этот файл main.go и запустить с помощью следующей команды:

go run main.go

Существует два способа создания UUID:

  1. Использование встроенной библиотеки — os/exec
  2. Использование пакета uuid от Google — github.com/google/uuid

Теперь мы узнаем, как сгенерировать UUID в Golang, используя следующие методы:

Сгенерировать UUID с помощью os/exec

Чтобы сгенерировать UUID с помощью os/exec, выполните следующие действия:

Шаг 1: Импортируйте пакет os/exec для утилиты UUID.

Шаг 2: Выполните команду uuidgen через импортированный пакет os/exec.

Шаг 3: Проверьте наличие ошибок при генерации.

Шаг 4: Распечатайте сгенерированный UUID.

Имя файла: main.go

Go




package main
  
import (
    "fmt"
    "log"
    "os/exec"
)
  
func main() {
    newUUID, err := exec.Command("uuidgen").Output()
    if err != nil {
        log.Fatal(err)
    }
    fmt.Println("Generated UUID:")
    fmt.Printf("%s", newUUID)
}

Выход:

Создать пакет UUID google/uuid

Чтобы сгенерировать UUID с помощью пакета google/uuid, выполните следующие действия:

Шаг 1: Установите пакет google/uuid с помощью следующей команды:

go get github.com/google/uuid

Это также создает файл go.sum и обновляет файл go.mod, добавляя сведения о пакете.

Шаг 2: импортируйте пакет github.com/google/uuid для утилиты uuid.

Шаг 3: Используйте функцию uuid.New импортированного пакета uuid.

Шаг 4: Распечатайте сгенерированный UUID

Имя файла: main.go

Go




package main
  
import (
    "fmt"
    "github.com/google/uuid"
)
  
func main() {
    id := uuid.New()
    fmt.Println("Generated UUID:")
    fmt.Println(id.String())
}

Выход: