Go nudi mnogo načina za generiranje UUID-ova, koji su praktičan i robustan način organiziranja vaših podataka.
Univerzalno jedinstveni identifikatori (UUID) popularni su za identifikaciju korisnika u aplikacijama gdje je bitan visok stupanj slučajnosti. UUID-ovi su dobar izbor za aplikacije koje služe milijunima korisnika budući da smanjuju mogućnost sudara i univerzalno su različiti među sustavima.
Go ne nudi nikakav paket(e) za generiranje UUID-ova. Budući da većina operativnih sustava povezanih s Unixom uključuje uuidgen programa, možete koristiti os paket za njihovo generiranje. Također možete koristiti vanjski Go paket poput Googleovog uuid ili gouuid paket.
Generiranje UUID-ova s os paketom
Go os paket pruža funkcionalnost za interakciju s operativnim sustavom glavnog računala na način sličan Unixu. Možete izvršavati naredbe s
izvrs podpaket od os pakirajte i dohvatite izlaz za svoj Go programi.Uvezite ove ugrađene pakete u svoju Go datoteku za generiranje UUID-ova s os paket.
uvoz (\n "fmt"\n "log"\n "os/exec"\n)\n
Vi ćete koristiti log paket za evidentiranje mogućih grešaka i the fmt paket za formatiranje nizova za izlaz generiranog UUID-a.
Možete pokretati naredbe pomoću Naredba metoda izvrs paket. The Izlaz metoda vraća izlaz naredbe.
funkosExec() {\n generirajUUID, pogreška := izv. Naredba("uuidgen").Izlaz()\n \n ako pogriješiti != nula {\n zapisnik. Fatal (greška)\n }\n \n fmt. Println (generirajUUID)\n}\n
The osExec funkcija generira i ispisuje UUID pomoću uuidgen naredba.
Generiranje UUID-ova s Googleovim UUID paketom
Google uuid paket generira i provjerava UUID-ove na temelju RFC 4122 i DCE 1.1 Authentication and Security Services.
Pokrenite ovu naredbu terminala u direktoriju vašeg projekta da biste instalirali uuid paket kao jednu od ovisnosti vašeg projekta.
ići dobiti github.com/google/uuid\n
Uvezi uuid paket za generiranje UUID-ova i fmt paket za izlaz UUID-a na vašu konzolu.
uvoz (\n "fmt"\n "github.com/google/uuid"\n)\n
UUID možete generirati pomoću paketa uuid Novi metoda. The Novi metoda vraća nasumični UUID i možete koristiti njegov Niz metoda za dobivanje njegove reprezentacije niza.
funkgoogleUUID() {\n uuidVrijednost := uuid. New()\n fmt. Println (uuidValue. Niz())\n}\n
The googleUUID funkcija koristi Novi metoda za ispis formata niza slučajnog UUID-a.
Generiranje UUID-ova s GoUUID paketom
Paket gouuid pruža nepromjenjive UUID strukture i funkcije za generiranje NewV3, NewV4 i NewV5 UUID-ova i raščlanjivanje UUID-ova kako je navedeno u RFC 4122.
Pokrenite ovu naredbu u terminalu vašeg radnog direktorija da biste instalirali gouuid paket prema ovisnostima vašeg projekta.
ići dobiti github.com/nu7hatch/gouuid\n
Uvezi fmt i gouuid paketi s aliasom uuid (konvencionalno) za generiranje UUID-ova.
uvoz (\n "fmt"\n uuid "github.com/nu7hatch/gouuid"\n)\n
UUID-ove verzije 4 možete generirati s NovoV4 metoda koja vraća UUID ili pogrešku.
funkgeneriratiV4(){\n v4UUID, pogreška := uuid. NoviV4()\n \n ako pogriješiti != nula {\n fmt. Println (pogreška)\n }\n \n fmt. Println (v4UUID)\n}\n
The generiratiV4 metoda ispisuje generirani UUID iz NovoV4 metoda gouuid paket.
Slično, možete generirati UUID-ove verzije 5 s NovoV5 metoda. The NovoV5 metoda uzima URL prostora imena UUID-a i odsječak bajta i vraća generiranu verziju 5 UUID-a.
funkgeneriratiV5(){\n v5UUID, pogreška := uuid. NovoV5(uuid. URL prostora imena, []bajt("go.dev"))\n \n ako pogriješiti != nula {\n fmt. Println (pogreška)\n }\n \n fmt. Println (v5UUID)\n}\n
The generiratiV5 ispisuje generiranu verziju pet UUID-a nakon generiranja UUID-a s NovoV5 metoda ako nema pogrešaka generiranja.
Možete generirati UUID-ove s većinom programskih jezika
UUID-ovi su korisni za mnoge slučajeve upotrebe, pa su popularni u svakodnevnim aplikacijama. Većina programskih jezika pruža funkcionalnost za generiranje UUID-ova u svojim standardnim bibliotekama ili paketima ekosustava.