Go nabízí mnoho způsobů, jak generovat UUID, což je pohodlný a robustní způsob organizace vašich dat.
Univerzálně jedinečné identifikátory (UUID) jsou oblíbené pro identifikaci uživatelů v aplikacích, kde je nezbytný vysoký stupeň náhodnosti. UUID jsou dobrou volbou pro aplikace, které slouží milionům uživatelů, protože snižují riziko kolizí a jsou univerzálně odlišné napříč systémy.
Go neposkytuje žádné balíčky pro generování UUID. Protože většina operačních systémů souvisejících s Unixem zahrnuje uuidgen program, můžete použít os balíček k jejich generování. Můžete také použít externí balíček Go, jako je Google uuid nebo gouuid balík.
Generování UUID s balíčkem os
Jít os balíček poskytuje funkce pro interakci s operačním systémem hostitelského počítače způsobem podobným Unixu. Příkazy můžete provádět pomocí
exec dílčí balíček os balíček a načtěte výstup pro svůj Přejít na programy.Importujte tyto vestavěné balíčky do svého souboru Go a vygenerujte UUID s os balík.
import (\n "fmt"\n "log"\n "os/exec"\n)\n
Budete používat log balíček pro protokolování možných chyb a a fmt balíček pro formátování řetězců pro výstup vygenerovaného UUID.
Příkazy můžete spouštět pomocí Příkaz metoda exec balík. The Výstup metoda vrací výstup příkazu.
funcosExec() {\n vygenerovatUUID, err := exec. Příkaz("uuidgen").Výstup()\n \n -li chyba!= nula {\n přihlásit se. Závažné (chyba)\n }\n \n fmt. Println (generateUUID)\n}\n
The osExec funkce generuje a tiskne UUID pomocí uuidgen příkaz.
Generování UUID pomocí balíčku UUID společnosti Google
Google uuid balíček generuje a kontroluje UUID na základě RFC 4122 a Ověřovací a bezpečnostní služby DCE 1.1.
Spusťte tento příkaz terminálu v adresáři vašeho projektu a nainstalujte soubor uuid balíček jako jednu ze závislostí vašeho projektu.
jít získat github.com/google/uuid\n
Importujte uuid balíček pro generování UUID a fmt balíček pro výstup UUID do vaší konzole.
import (\n "fmt"\n "github.com/google/uuid"\n)\n
UUID můžete vygenerovat pomocí balíčku uuid Nový metoda. The Nový metoda vrací náhodné UUID a můžete jej použít Tětiva metoda k získání jeho řetězcové reprezentace.
funcgoogleUUID() {\n uuidValue := uuid. New()\n fmt. Println (uuidValue. String())\n}\n
The googleUUID funkce používá Nový metoda pro tisk formátu řetězce náhodného UUID.
Generování UUID pomocí balíčku GoUUID
Gouidový balíček poskytuje neměnné struktury a funkce UUID pro generování UUID NewV3, NewV4 a NewV5 a analýzu UUID, jak je uvedeno v RFC 4122.
Spusťte tento příkaz v terminálu vašeho pracovního adresáře a nainstalujte gouuid balíček k závislostem vašeho projektu.
jít získejte github.com/nu7hatch/gouuid\n
Importujte fmt a gouuid balíčky s aliasem uuid (konvenční) pro generování UUID.
import (\n "fmt"\n uuid "github.com/nu7hatch/gouuid"\n)\n
UUID verze 4 můžete vygenerovat pomocí NewV4 metoda, která vrací UUID nebo chybu.
funcgenerovat V4(){\n v4UUID, err := uuid. NewV4()\n \n -li chyba!= nula {\n fmt. Println (chyba)\n }\n \n fmt. Println (v4UUID)\n}\n
The generovat V4 metoda vytiskne vygenerované UUID z NewV4 metoda gouuid balík.
Podobně můžete vygenerovat UUID verze 5 pomocí NewV5 metoda. The NewV5 metoda přijímá adresu URL oboru názvů UUID a bajtový řez a vrací vygenerovaný UUID verze 5.
funcgenerovat V5(){\n v5UUID, err := uuid. NewV5(uuid. Adresa URL jmenného prostoru, []byte("go.dev"))\n \n -li chyba!= nula {\n fmt. Println (chyba)\n }\n \n fmt. Println (v5UUID)\n}\n
The generovat V5 funkce vytiskne vygenerovanou verzi pět UUID po vygenerování UUID s NewV5 pokud nedochází k chybám při generování.
UUID můžete generovat s většinou programovacích jazyků
UUID jsou užitečné pro mnoho případů použití, takže jsou oblíbené v každodenních aplikacích. Většina programovacích jazyků poskytuje funkce pro generování UUID ve svých standardních knihovnách nebo balíčcích ekosystémů.