Generowanie identyfikatorów UUID w Go

Generowanie identyfikatorów UUID w Go

Uniwersalne unikalne identyfikatory (UUID) są popularne do identyfikacji użytkowników w aplikacjach, w których niezbędny jest wysoki stopień losowości. Identyfikatory UUID to dobry wybór dla aplikacji obsługujących miliony użytkowników, ponieważ zmniejszają ryzyko kolizji i są powszechnie różne w różnych systemach.

Go nie udostępnia żadnych pakietów do generowania identyfikatorów UUID. Ponieważ większość systemów operacyjnych związanych z Uniksem zawiera program uuidgen , do ich wygenerowania można użyć pakietu os . Możesz także użyć zewnętrznego pakietu Go, takiego jak uuid Google lub pakiet gouuid .

Generowanie identyfikatorów UUID za pomocą pakietu os

przegląd pakietu systemu operacyjnego

Pakiet Go os zapewnia funkcjonalność do interakcji z systemem operacyjnym hosta w sposób podobny do systemu Unix. Możesz wykonywać polecenia z podpakietem exec pakietu os i pobierać dane wyjściowe dla swoich programów Go.

Zaimportuj te wbudowane pakiety do pliku Go, aby wygenerować identyfikatory UUID za pomocą pakietu os .

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

Użyjesz pakietu dziennika do zarejestrowania możliwych błędów, a pakietu formatowania łańcucha fmt do wygenerowania wygenerowanego identyfikatora UUID.

Możesz uruchamiać polecenia za pomocą metody Command pakietu exec . Metoda Output zwraca dane wyjściowe polecenia.

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

Funkcja osExec generuje i drukuje identyfikator UUID za pomocą polecenia uuidgen .

Generowanie identyfikatorów UUID za pomocą pakietu UUID firmy Google

podgląd uuid google

Pakiet Google uuid generuje i sprawdza identyfikatory UUID w oparciu o RFC 4122 oraz usługi uwierzytelniania i bezpieczeństwa DCE 1.1.

Uruchom to polecenie terminala w katalogu projektu, aby zainstalować pakiet uuid jako jedną z zależności projektu.

go get github.com/google/uuid\n

Zaimportuj pakiet uuid , aby wygenerować identyfikatory UUID, oraz pakiet fmt , aby wyświetlić identyfikator UUID na konsoli.

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

Możesz wygenerować identyfikator UUID za pomocą metody New pakietu uuid. Metoda New zwraca losowy identyfikator UUID i można użyć jej metody String , aby uzyskać jego reprezentację w postaci ciągu znaków.

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

Funkcja googleUUID używa metody New do drukowania formatu ciągu losowego identyfikatora UUID.

Generowanie identyfikatorów UUID za pomocą pakietu GoUUID

podgląd gouuid

Pakiet gouuid zapewnia niezmienne struktury UUID i funkcje do generowania identyfikatorów UUID NewV3, NewV4 i NewV5 oraz analizowania identyfikatorów UUID zgodnie z dokumentem RFC 4122.

Uruchom to polecenie w terminalu swojego katalogu roboczego, aby zainstalować pakiet gouuid w zależnościach twojego projektu.

go get github.com/nu7hatch/gouuid\n

Zaimportuj pakiety fmt i gouuid z aliasem uuid (konwencjonalnym), aby wygenerować identyfikatory UUID.

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

Możesz wygenerować identyfikatory UUID wersji 4 za pomocą metody NewV4 , która zwraca identyfikator UUID lub błąd.

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

Metoda generateV4 drukuje wygenerowany identyfikator UUID z metody NewV4 pakietu gouuid .

Podobnie można wygenerować identyfikatory UUID wersji 5 za pomocą metody NewV5 . Metoda NewV5 przyjmuje adres URL przestrzeni nazw UUID oraz wycinek bajtów i zwraca wygenerowany identyfikator UUID wersji 5.

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

Funkcja generateV5 drukuje wygenerowany identyfikator UUID wersji piątej po wygenerowaniu identyfikatora UUID za pomocą metody NewV5 , jeśli nie ma błędów generowania.

Możesz generować identyfikatory UUID w większości języków programowania

Identyfikatory UUID są przydatne w wielu przypadkach użycia, dlatego są popularne w codziennych zastosowaniach. Większość języków programowania zapewnia funkcjonalność do generowania identyfikatorów UUID w swoich standardowych bibliotekach lub pakietach ekosystemów.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *