Go erbjuder många sätt att generera UUID, vilket är ett bekvämt och robust sätt att organisera din data.
Universally Unique Identifiers (UUID) är populära för användaridentifiering i applikationer där en hög grad av slumpmässighet är avgörande. UUID är ett bra val för appar som betjänar miljontals användare eftersom de minskar risken för kollisioner och de är universellt distinkta mellan olika system.
Go tillhandahåller inga paket för generering av UUID. Eftersom de flesta Unix-relaterade operativsystem inkluderar uuidgen programmet kan du använda os paket för att generera dem. Du kan också använda ett externt Go-paket som Googles uuid eller den gouuid paket.
Generera UUID med OS-paketet
The Go os paketet ger funktionalitet för att interagera med värddatorns operativsystem på ett Unix-liknande sätt. Du kan utföra kommandon med
exec underpaket till os paketera och hämta utdata för din Gå program.Importera dessa inbyggda paket i din Go-fil för att generera UUID med os paket.
importera (\n "fmt"\n "logga"\n "os/exec"\n)\n
Du kommer att använda logga paket för att logga eventuella fel och de fmt strängformateringspaket för att mata ut det genererade UUID.
Du kan köra kommandon med Kommando metod för exec paket. De Produktion metod returnerar kommandots utdata.
funcosExec() {\n generera UUID, fel := exec. Kommando("uuidgen").Output()\n \n om fel!= noll {\n logg. Fatal (fel)\n }\n \n fmt. Println (genereraUUID)\n}\n
De osExec funktionen genererar och skriver ut ett UUID med hjälp av uuidgen kommando.
Generera UUID med Googles UUID-paket
Google uuid paketet genererar och inspekterar UUID baserat på RFC 4122 och DCE 1.1 Authentication and Security Services.
Kör detta terminalkommando i ditt projekts katalog för att installera uuid paket som ett av ditt projekts beroenden.
gå skaffa github.com/google/uuid\n
Importera uuid paket för att generera UUID och fmt paket för att mata ut UUID till din konsol.
importera (\n "fmt"\n "github.com/google/uuid"\n)\n
Du kan generera ett UUID med uuid-paketets Ny metod. De Ny metod returnerar ett slumpmässigt UUID, och du kan använda dess Sträng metod för att få en strängrepresentation av den.
funcgoogleUUID() {\n uuidValue := uuid. New()\n fmt. Println (uuidValue. String())\n}\n
De googleUUID funktionen använder Ny metod för att skriva ut strängformatet för en slumpmässig UUID.
Generera UUID med GoUUID-paketet
Gouidpaketet tillhandahåller oföränderliga UUID-strukturer och funktioner för att generera NewV3, NewV4 och NewV5 UUID och tolka UUID enligt RFC 4122.
Kör det här kommandot i terminalen i din arbetskatalog för att installera gouuid paketera till ditt projekts beroenden.
gå hämta github.com/nu7hatch/gouuid\n
Importera fmt och gouuid paket med aliaset uuid (konventionell) för att generera UUID.
importera (\n "fmt"\n uuid "github.com/nu7hatch/gouuid"\n)\n
Du kan generera version 4 UUID med NewV4 metod som returnerar UUID eller ett fel.
funcgenereraV4(){\n v4UUID, fel := uuid. NewV4()\n \n om fel!= noll {\n fmt. Println (fel)\n }\n \n fmt. Println (v4UUID)\n}\n
De genereraV4 metoden skriver ut det genererade UUID från NewV4 metod för gouuid paket.
På samma sätt kan du generera version 5 UUID med NewV5 metod. De NewV5 metoden tar in en UUID-namnområdes-URL och en bytedel och returnerar den genererade version 5 UUID.
funcgenereraV5(){\n v5UUID, fel := uuid. NewV5(uuid. NamespaceURL, []byte("go.dev"))\n \n om fel!= noll {\n fmt. Println (fel)\n }\n \n fmt. Println (v5UUID)\n}\n
De genereraV5 funktionen skriver ut den genererade versionen fem UUID efter UUID-genereringen med NewV5 metod om det inte finns några genereringsfel.
Du kan generera UUID med de flesta programmeringsspråk
UUID är användbara för många användningsfall, så de är populära i vardagliga applikationer. De flesta programmeringsspråk tillhandahåller funktionalitet för att generera UUID i deras standardbibliotek eller ekosystempaket.