Go tilbyder mange måder at generere UUID'er på, som er en praktisk og robust måde at organisere dine data på.
Universally Unique Identifiers (UUID) er populære til brugeridentifikation i applikationer, hvor en høj grad af tilfældighed er afgørende. UUID'er er et godt valg for apps, der betjener millioner af brugere, da de reducerer risikoen for kollisioner, og de er universelt forskellige på tværs af systemer.
Go leverer ingen pakker til generering af UUID'er. Da de fleste Unix-relaterede operativsystemer inkluderer uuidgen programmet, kan du bruge os pakke for at generere dem. Du kan også bruge en ekstern Go-pakke som Googles uuid eller den gouuid pakke.
Generering af UUID'er med os-pakken
The Go os pakken giver funktionalitet til at interagere med værtsmaskinens operativsystem på en Unix-lignende måde. Du kan udføre kommandoer med
exec underpakke af os pakke og hent outputtet til din Gå programmer.Importer disse indbyggede pakker i din Go-fil for at generere UUID'er med os pakke.
importere (\n "fmt"\n "log"\n "os/exec"\n)\n
Du vil bruge log pakke til at logge mulige fejl og det fmt strengformateringspakke for at udlæse det genererede UUID.
Du kan køre kommandoer med Kommando metoden til exec pakke. Det Produktion metode returnerer kommandoens output.
funcosExec() {\n generer UUID, fejl := exec. Kommando("uuidgen").Output()\n \n hvis fejl!= nul {\n log. Fatal (fejl)\n }\n \n fmt. Println (generer UUID)\n}\n
Det osExec funktionen genererer og udskriver et UUID ved hjælp af uuidgen kommando.
Generering af UUID'er med Googles UUID-pakke
Google uuid pakken genererer og inspicerer UUID'er baseret på RFC 4122 og DCE 1.1 Authentication and Security Services.
Kør denne terminalkommando i dit projekts bibliotek for at installere uuid pakke som en af dit projekts afhængigheder.
gå hent github.com/google/uuid\n
Importer uuid pakke til at generere UUID'er og fmt pakke til at udsende UUID til din konsol.
importere (\n "fmt"\n "github.com/google/uuid"\n)\n
Du kan generere et UUID med uuid-pakkens Ny metode. Det Ny metode returnerer et tilfældigt UUID, og du kan bruge det Snor metode til at opnå en strengrepræsentation af det.
funcgoogleUUID() {\n uuidVærdi := uuid. New()\n fmt. Println (uuidValue. String())\n}\n
Det googleUUID funktionen bruger Ny metode til at udskrive strengformatet for en tilfældig UUID.
Generering af UUID'er med GoUUID-pakken
gouuid-pakken leverer uforanderlige UUID-strukturer og funktioner til generering af NewV3, NewV4 og NewV5 UUID'er og parsing af UUID'erne som specificeret i RFC 4122.
Kør denne kommando i terminalen i dit arbejdsbibliotek for at installere gouuid pakke til dit projekts afhængigheder.
gå hent github.com/nu7hatch/gouuid\n
Importer fmt og gouuid pakker med alias uuid (konventionel) til at generere UUID'er.
importere (\n "fmt"\n uuid "github.com/nu7hatch/gouuid"\n)\n
Du kan generere version 4 UUID'er med NyV4 metode, der returnerer UUID eller en fejl.
funcgenerereV4(){\n v4UUID, fejl := uuid. NewV4()\n \n hvis fejl!= nul {\n fmt. Println (fejl)\n }\n \n fmt. Println (v4UUID)\n}\n
Det generereV4 metode udskriver det genererede UUID fra NyV4 metoden til gouuid pakke.
På samme måde kan du generere version 5 UUID'er med NyV5 metode. Det NyV5 metoden tager en UUID-navneområde-URL og et byteudsnit og returnerer den genererede version 5 UUID.
funcgenerereV5(){\n v5UUID, fejl := uuid. NewV5(uuid. Navneområde-URL, []byte("go.dev"))\n \n hvis fejl!= nul {\n fmt. Println (fejl)\n }\n \n fmt. Println (v5UUID)\n}\n
Det generereV5 funktion udskriver den genererede version fem UUID efter UUID-genereringen med NyV5 metode, hvis der ikke er genereringsfejl.
Du kan generere UUID'er med de fleste programmeringssprog
UUID'er er nyttige til mange brugssager, så de er populære i hverdagsapplikationer. De fleste programmeringssprog giver funktionalitet til at generere UUID'er i deres standardbiblioteker eller økosystempakker.