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
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
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
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