„Go“ siūlo daugybę būdų, kaip generuoti UUID, kurie yra patogus ir patikimas būdas tvarkyti duomenis.
Universaliai unikalūs identifikatoriai (UUID) yra populiarūs vartotojui identifikuoti programose, kuriose būtinas didelis atsitiktinumo laipsnis. UUID yra geras pasirinkimas programoms, kurios aptarnauja milijonus vartotojų, nes sumažina susidūrimų tikimybę ir yra universalūs įvairiose sistemose.
„Go“ nepateikia jokio (-ių) paketo (-ų), skirto UUID generuoti. Kadangi dauguma su Unix susijusių operacinių sistemų apima uuidgen programą, galite naudoti os paketą jiems sukurti. Taip pat galite naudoti išorinį „Go“ paketą, pvz., „Google“. uuid arba gouuid paketą.
UUID generavimas naudojant OS paketą
Eiti os paketas suteikia funkcionalumą sąveikauti su pagrindinio kompiuterio operacine sistema Unix tipo būdu. Galite vykdyti komandas naudodami
vykdytojas subpaketas os paketą ir gaukite savo išvestį Eikite į programas.Importuokite šiuos integruotus paketus į savo Go failą, kad sugeneruotumėte UUID su os paketą.
importuoti (\n "fmt"\n "rąstas"\n "os/exec"\n)\n
Jūs naudosite žurnalas paketą galimoms klaidoms registruoti ir į fmt stygų formatavimo paketas išvesti sugeneruotą UUID.
Galite paleisti komandas naudodami komandą metodas vykdytojas paketą. The Išvestis metodas grąžina komandos išvestį.
funcosExec() {\n generuoti UUID, klaida := exec. Komanda ("uuidgen").Išvestis ()\n \n jeigu klysta! = nulis {\n žurnalas. Mirtina (err)\n }\n \n fmt. Println (generateUUID)\n}\n
The osExec funkcija sugeneruoja ir išspausdina UUID naudodama uuidgen komandą.
UUID generavimas naudojant „Google“ UUID paketą
Google uuid paketas generuoja ir tikrina UUID pagal RFC 4122 ir DCE 1.1 autentifikavimo ir saugos paslaugos.
Vykdykite šią terminalo komandą savo projekto kataloge, kad įdiegtumėte uuid paketą kaip vieną iš jūsų projekto priklausomybių.
eik gauti github.com/google/uuid\n
Importuoti uuid paketą UUID generuoti ir fmt paketą, kad išvestumėte UUID į jūsų konsolę.
importuoti (\n "fmt"\n „github.com/google/uuid“\n)\n
Galite sugeneruoti UUID naudodami uuid paketą Nauja metodas. The Nauja metodas grąžina atsitiktinį UUID, ir jūs galite jį naudoti Styga būdas gauti jos eilutės atvaizdavimą.
funcgoogleUUID() {\n uuidValue := uuid. Naujas()\n fmt. Println (uuidValue. String())\n}\n
The googleUUID funkcija naudoja Nauja būdas spausdinti atsitiktinio UUID eilutės formatą.
UUID generavimas naudojant GoUUID paketą
„Gouuid“ paketas teikia nekintamas UUID struktūras ir funkcijas, skirtas generuoti NewV3, NewV4 ir NewV5 UUID ir analizuoti UUID, kaip nurodyta RFC 4122.
Paleiskite šią komandą savo darbo katalogo terminale, kad įdiegtumėte gouuid paketą prie jūsų projekto priklausomybių.
eik gauti github.com/nu7hatch/gouuid\n
Importuoti fmt ir gouuid paketai su slapyvardžiu uuid (įprasta) UUID generavimui.
importuoti (\n "fmt"\n uuid „github.com/nu7hatch/gouuid“\n)\n
Galite sugeneruoti 4 versijos UUID naudodami NaujaV4 metodas, kuris grąžina UUID arba klaidą.
funcgeneruotiV4(){\n v4UUID, klaida := uuid. NewV4()\n \n jeigu klysta! = nulis {\n fmt. Println (err)\n }\n \n fmt. Println (v4UUID)\n}\n
The generuotiV4 metodas išspausdina sugeneruotą UUID iš NaujaV4 metodas gouuid paketą.
Panašiai galite sugeneruoti 5 versijos UUID naudodami NaujaV5 metodas. The NaujaV5 metodas paima UUID vardų erdvės URL ir baitų skiltį ir grąžina sugeneruotą 5 versijos UUID.
funcgeneruotiV5(){\n v5UUID, klaida := uuid. NewV5(uuid. Vardų erdvėURL, []baitas("go.dev"))\n \n jeigu klysta! = nulis {\n fmt. Println (err)\n }\n \n fmt. Println (v5UUID)\n}\n
The generuotiV5 funkcija išspausdina sugeneruotą penktosios versijos UUID po UUID generavimo su NaujaV5 metodas, jei nėra generavimo klaidų.
Galite generuoti UUID naudodami daugumą programavimo kalbų
UUID yra naudingi daugeliu atvejų, todėl jie yra populiarūs kasdienėse programose. Dauguma programavimo kalbų suteikia UUID generavimo funkciją standartinėse bibliotekose arba ekosistemų paketuose.