A Go számos módot kínál az UUID-k generálására, amelyek kényelmes és robusztus módja az adatok rendszerezésének.
Az univerzálisan egyedi azonosítók (UUID) népszerűek a felhasználók azonosítására olyan alkalmazásokban, ahol elengedhetetlen a nagyfokú véletlenszerűség. Az UUID-k jó választás olyan alkalmazások számára, amelyek több millió felhasználót szolgálnak ki, mivel csökkentik az ütközések esélyét, és általánosan különböznek egymástól a rendszerek között.
A Go nem biztosít csomagokat az UUID-k generálásához. Mivel a legtöbb Unix-szal kapcsolatos operációs rendszer tartalmazza a uuidgen programot, használhatja a os csomagot generálni. Használhat külső Go-csomagot is, például a Google-ét uuid vagy a gouuid csomag.
UUID generálása az operációs rendszer csomaggal
A Go os csomag olyan funkciókat biztosít, amelyek segítségével Unix-szerű módon kommunikálhat a gazdagép operációs rendszerével. Parancsokat hajthat végre a
végrehajtó alcsomagja a os csomagot, és kérje le a kimenetet az Ön számára Menj programok.Importálja ezeket a beépített csomagokat a Go fájlba, hogy UUID-eket generáljon a os csomag.
import (\n "fmt"\n "napló"\n "os/exec"\n)\n
Használja a log csomag az esetleges hibák naplózásához és a fmt karakterlánc-formázó csomag a generált UUID kiadásához.
A parancsokat a Parancs módszere a végrehajtó csomag. A Kimenet metódus visszaadja a parancs kimenetét.
funcosExec() {\n UUID generálása, hiba := végrehajt. Parancs("uuidgen").Kimenet()\n \n ha hiba! = nulla {\n napló. Végzetes (hiba)\n }\n \n fmt. Println (generateUUID)\n}\n
A osExec függvény generál és kinyomtat egy UUID-t a uuidgen parancs.
UUID-k generálása a Google UUID-csomagjával
A Google uuid csomag az UUID-ket állítja elő és ellenőrzi RFC 4122 és a DCE 1.1 hitelesítési és biztonsági szolgáltatások.
Futtassa ezt a terminálparancsot a projekt könyvtárában a telepítéshez uuid csomagot a projekt egyik függőségeként.
megy töltse le a github.com/google/uuid címet\n
Importálja a uuid csomag az UUID-k generálásához és a fmt csomagot az UUID konzolra történő kiadásához.
import (\n "fmt"\n "github.com/google/uuid"\n)\n
Létrehozhat egy UUID-t az uuid csomaggal Új módszer. A Új metódus egy véletlenszerű UUID-t ad vissza, és ezt használhatod Húr metódussal, hogy megkapjuk a karakterlánc-reprezentációt.
funcgoogleUUID() {\n uuidValue := uuid. Új()\n fmt. Println (uuidValue. Karakterlánc())\n}\n
A googleUUID függvény a Új módszer egy véletlenszerű UUID karakterlánc-formátumának kinyomtatására.
UUID generálása a GoUUID csomaggal
A gouuid csomag változtathatatlan UUID struktúrákat és függvényeket biztosít a NewV3, NewV4 és NewV5 UUID generálásához és az UUID azonosítók elemzéséhez az RFC 4122 szerint.
Futtassa ezt a parancsot a munkakönyvtár termináljában a telepítéshez gouuid csomagot a projekt függőségeihez.
megy töltse le a github.com/nu7hatch/gouuid\n
Importálja a fmt és gouuid csomagok az álnévvel uuid (hagyományos) UUID-k generálásához.
import (\n "fmt"\n uuid "github.com/nu7hatch/gouuid"\n)\n
A 4-es verziójú UUID-eket a ÚjV4 metódus, amely visszaadja az UUID-t vagy hibát.
funcgenerV4(){\n v4UUID, err := uuid. ÚjV4()\n \n ha hiba! = nulla {\n fmt. Println (err)\n }\n \n fmt. Println (v4UUID)\n}\n
A generV4 metódus kiírja a generált UUID-t a ÚjV4 módszere a gouuid csomag.
Hasonlóképpen generálhat 5-ös verziójú UUID-ket a ÚjV5 módszer. A ÚjV5 metódus vesz egy UUID névtér URL-t és egy bájtszeletet, és visszaadja az előállított 5-ös verziójú UUID-t.
funcgenerV5(){\n v5UUID, hiba := uuid. NewV5(uuid. NamespaceURL, []byte("go.dev"))\n \n ha hiba! = nulla {\n fmt. Println (err)\n }\n \n fmt. Println (v5UUID)\n}\n
A generV5 függvény kiírja az előállított ötös verziójú UUID-t az UUID generálás után a következővel ÚjV5 módszer, ha nincsenek generálási hibák.
A legtöbb programozási nyelvvel UUID-ket generálhat
Az UUID-k számos felhasználási esetben hasznosak, ezért népszerűek a mindennapi alkalmazásokban. A legtöbb programozási nyelv rendelkezik UUID-k generálására a szabványos könyvtáraiban vagy ökoszisztéma-csomagjaiban.