Gerando UUIDs com Go

Gerando UUIDs com Go

Universally Unique Identifiers (UUID) são populares para identificação do usuário em aplicações onde um alto grau de aleatoriedade é essencial. Os UUIDs são uma boa escolha para aplicativos que atendem a milhões de usuários, pois reduzem a chance de colisões e são universalmente distintos entre os sistemas.

Go não fornece nenhum pacote para gerar UUIDs. Como a maioria dos sistemas operacionais relacionados ao Unix inclui o programa uuidgen , você pode usar o pacote os para gerá-los. Você também pode usar um pacote Go externo como o uuid do Google ou o pacote gouuid .

Gerando UUIDs com o pacote os

a visão geral do pacote os

O pacote Go os fornece funcionalidade para interagir com o sistema operacional da máquina host de maneira semelhante ao Unix. Você pode executar comandos com o subpacote exec do pacote os e recuperar a saída para seus programas Go.

Importe esses pacotes integrados em seu arquivo Go para gerar UUIDs com o pacote os .

import (\n "fmt"\n "log"\n "os/exec"\n)\n

Você usará o pacote log para registrar possíveis erros e o pacote fmt string-formatting para gerar o UUID gerado.

Você pode executar comandos com o método Command do pacote exec . O método Output retorna a saída do comando.

func osExec() {\n generateUUID, err: = exec.Command("uuidgen").Output()\n \n if err! = nil {\n log.Fatal(err)\n }\n \n fmt.Println(generateUUID)\n}\n

A função osExec gera e imprime um UUID usando o comando uuidgen .

Gerando UUIDs com o pacote UUID do Google

visualização do google uuid

O pacote uuid do Google gera e inspeciona UUIDs com base no RFC 4122 e nos serviços de segurança e autenticação DCE 1.1.

Execute este comando de terminal no diretório do seu projeto para instalar o pacote uuid como uma das dependências do seu projeto.

go get github.com/google/uuid\n

Importe o pacote uuid para gerar UUIDs e o pacote fmt para gerar o UUID em seu console.

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

Você pode gerar um UUID com o método New do pacote uuid . O método New retorna um UUID aleatório e você pode usar seu método String para obter uma representação de string dele.

func googleUUID() {\n uuidValue: = uuid.New()\n fmt.Println(uuidValue.String())\n}\n

A função googleUUID usa o método New para imprimir o formato de string de um UUID aleatório.

Gerando UUIDs com o pacote GoUUID

a visualização gouuid

O pacote gouuid fornece estruturas e funções UUID imutáveis ​​para gerar UUIDs NewV3, NewV4 e NewV5 e analisar os UUIDs conforme especificado no RFC 4122.

Execute este comando no terminal do seu diretório de trabalho para instalar o pacote gouuid nas dependências do seu projeto.

go get github.com/nu7hatch/gouuid\n

Importe os pacotes fmt e gouuid com o alias uuid (convencional) para gerar UUIDs.

import (\n "fmt"\n uuid "github.com/nu7hatch/gouuid"\n)\n

Você pode gerar UUIDs da versão 4 com o método NewV4 que retorna o UUID ou um erro.

func generateV4(){\n v4UUID, err: = uuid.NewV4()\n \n if err! = nil {\n fmt.Println(err)\n }\n \n fmt.Println(v4UUID)\n}\n

O método generateV4 imprime o UUID gerado a partir do método NewV4 do pacote gouuid .

Da mesma forma, você pode gerar UUIDs da versão 5 com o método NewV5 . O método NewV5 recebe uma URL de namespace UUID e uma fatia de byte e retorna a versão 5 UUID gerada.

func generateV5(){\n v5UUID, err: = uuid.NewV5(uuid.NamespaceURL, []byte("go.dev"))\n \n if err! = nil {\n fmt.Println(err)\n }\n \n fmt.Println(v5UUID)\n}\n

A função generateV5 imprime o UUID da versão cinco gerada após a geração do UUID com o método NewV5 se não houver erros de geração.

Você pode gerar UUIDs com a maioria das linguagens de programação

Os UUIDs são úteis para muitos casos de uso, por isso são populares em aplicativos do dia a dia. A maioria das linguagens de programação fornece funcionalidade para gerar UUIDs em suas bibliotecas padrão ou pacotes de ecossistema.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *