Generieren von UUIDs mit Go

Generieren von UUIDs mit Go

Universally Unique Identifiers (UUID) sind beliebt zur Benutzeridentifikation in Anwendungen, bei denen ein hohes Maß an Zufälligkeit unerlässlich ist. UUIDs sind eine gute Wahl für Apps, die Millionen von Benutzern bedienen, da sie die Wahrscheinlichkeit von Kollisionen verringern und systemübergreifend eindeutig sind.

Go stellt keine Pakete zum Generieren von UUIDs bereit. Da die meisten Unix-bezogenen Betriebssysteme das Programm uuidgen enthalten, können Sie es mit dem Paket os generieren. Sie können auch ein externes Go-Paket wie Googles uuid oder das gouuid -Paket verwenden.

Generieren von UUIDs mit dem os-Paket

die os Paketübersicht

Das Go os -Paket bietet Funktionen für die Interaktion mit dem Betriebssystem des Host-Rechners auf Unix-ähnliche Weise. Sie können Befehle mit dem Unterpaket exec des Pakets os ausführen und die Ausgabe für Ihre Go-Programme abrufen.

Importieren Sie diese integrierten Pakete in Ihre Go-Datei, um UUIDs mit dem os -Paket zu generieren.

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

Sie verwenden das Protokollpaket , um mögliche Fehler zu protokollieren, und das fmt -Zeichenfolgenformatierungspaket, um die generierte UUID auszugeben.

Sie können Befehle mit der Command – Methode des exec -Pakets ausführen. Die Output -Methode gibt die Ausgabe des Befehls zurück.

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

Die Funktion osExec generiert und druckt eine UUID mit dem Befehl uuidgen .

Generieren von UUIDs mit dem UUID-Paket von Google

Google UUID-Vorschau

Das Google – uuid -Paket generiert und überprüft UUIDs basierend auf RFC 4122 und den DCE 1.1-Authentifizierungs- und Sicherheitsdiensten.

Führen Sie diesen Terminalbefehl im Verzeichnis Ihres Projekts aus, um das uuid -Paket als eine der Abhängigkeiten Ihres Projekts zu installieren.

go get github.com/google/uuid\n

Importieren Sie das uuid -Paket, um UUIDs zu generieren, und das fmt -Paket, um die UUID an Ihre Konsole auszugeben.

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

Sie können eine UUID mit der New – Methode des uuid-Pakets generieren . Die New- Methode gibt eine zufällige UUID zurück, und Sie können ihre String -Methode verwenden, um eine Zeichenfolgendarstellung davon zu erhalten.

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

Die googleUUID- Funktion verwendet die New- Methode, um das Zeichenfolgenformat einer zufälligen UUID auszugeben.

Generieren von UUIDs mit dem GoUUID-Paket

die Gouuid-Vorschau

Das gouuid-Paket stellt unveränderliche UUID-Strukturen und -Funktionen zum Generieren von NewV3-, NewV4- und NewV5-UUIDs und zum Analysieren der UUIDs bereit, wie in RFC 4122 angegeben.

Führen Sie diesen Befehl im Terminal Ihres Arbeitsverzeichnisses aus, um das gouuid -Paket in den Abhängigkeiten Ihres Projekts zu installieren.

go get github.com/nu7hatch/gouuid\n

Importieren Sie die fmt- und gouuid- Pakete mit dem Alias ​​uuid (konventionell), um UUIDs zu generieren.

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

Sie können UUIDs der Version 4 mit der Methode NewV4 generieren , die die UUID oder einen Fehler zurückgibt.

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

Die Methode generateV4 gibt die generierte UUID aus der Methode NewV4 des Pakets gouuid aus .

Auf ähnliche Weise können Sie Version 5-UUIDs mit der NewV5- Methode generieren. Die NewV5- Methode übernimmt eine UUID-Namespace-URL und einen Byte-Slice und gibt die generierte UUID der Version 5 zurück.

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

Die Funktion generateV5 druckt die generierte UUID der Version fünf nach der UUID-Generierung mit der NewV5- Methode, wenn keine Generierungsfehler vorliegen.

Sie können UUIDs mit den meisten Programmiersprachen generieren

UUIDs sind für viele Anwendungsfälle hilfreich, daher sind sie in alltäglichen Anwendungen beliebt. Die meisten Programmiersprachen bieten Funktionen zum Generieren von UUIDs in ihren Standardbibliotheken oder Ökosystempaketen.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert