Go piedāvā daudzus veidus, kā ģenerēt UUID, kas ir ērts un stabils datu kārtošanas veids.
Universāli unikālie identifikatori (UUID) ir populāri lietotāju identificēšanai lietojumprogrammās, kur būtiska ir augsta nejaušības pakāpe. UUID ir laba izvēle lietotnēm, kas apkalpo miljoniem lietotāju, jo tie samazina sadursmju iespējamību un ir universāli atšķirīgi dažādās sistēmās.
Go nenodrošina nevienu pakotni(-as) UUID ģenerēšanai. Tā kā lielākā daļa ar Unix saistīto operētājsistēmu ietver uuidgen programmu, varat izmantot os pakotni, lai tos ģenerētu. Varat arī izmantot ārēju Go pakotni, piemēram, Google uuid vai gouuid iepakojums.
UUID ģenerēšana, izmantojot OS paketi
Go os pakotne nodrošina funkcionalitāti mijiedarbībai ar resursdatora operētājsistēmu Unix līdzīgā veidā. Jūs varat izpildīt komandas ar
izpild apakšpakete os pakotni un izgūt izvadi savam Iet uz programmām.Importējiet šīs iebūvētās pakotnes savā Go failā, lai ģenerētu UUID ar os iepakojums.
imports (\n "fmt"\n "baļķis"\n "os/exec"\n)\n
Jūs izmantosit žurnāls pakotni, lai reģistrētu iespējamās kļūdas un uz fmt virknes formatēšanas pakotne lai izvadītu ģenerēto UUID.
Varat palaist komandas ar Pavēli metode izpild iepakojums. The Izvade metode atgriež komandas izvadi.
funcosExec() {\n ģenerētUUID, err := exec. Komanda("uuidgen").Izvade()\n \n ja kļūda! = nulle {\n žurnāls. Fatal (kļūda)\n }\n \n fmt. Println (ģenerētUUID)\n}\n
The osExec funkcija ģenerē un izdrukā UUID, izmantojot uuidgen komandu.
UUID ģenerēšana, izmantojot Google UUID paketi
Google uuid pakotne ģenerē un pārbauda UUID, pamatojoties uz RFC 4122 un DCE 1.1 autentifikācijas un drošības pakalpojumi.
Palaidiet šo termināļa komandu sava projekta direktorijā, lai instalētu uuid paketi kā vienu no jūsu projekta atkarībām.
aiziet iegūstiet vietni github.com/google/uuid\n
Importēt uuid pakotne UUID ģenerēšanai un fmt pakotni, lai izvadītu UUID uz jūsu konsoli.
imports (\n "fmt"\n "github.com/google/uuid"\n)\n
Varat ģenerēt UUID, izmantojot uuid pakotni Jauns metodi. The Jauns metode atgriež nejaušu UUID, un jūs varat to izmantot Stīga metode, lai iegūtu tās virknes attēlojumu.
funcgoogleUUID() {\n uuidValue := uuid. Jauns()\n fmt. Println (uuidValue. String())\n}\n
The googleUUID funkcija izmanto Jauns metodi, lai izdrukātu nejauša UUID virknes formātu.
UUID ģenerēšana, izmantojot GoUUID pakotni
Gouuid pakete nodrošina nemainīgas UUID struktūras un funkcijas NewV3, NewV4 un NewV5 UUID ģenerēšanai un UUID parsēšanai, kā norādīts RFC 4122.
Palaidiet šo komandu sava darba direktorija terminālī, lai instalētu gouuid pakotni jūsu projekta atkarībām.
aiziet iegūstiet vietni github.com/nu7hatch/gouuid\n
Importēt fmt un gouuid paketes ar aizstājvārdu uuid (parasti), lai ģenerētu UUID.
imports (\n "fmt"\n uuid "github.com/nu7hatch/gouuid"\n)\n
Varat ģenerēt 4. versijas UUID, izmantojot JaunsV4 metode, kas atgriež UUID vai kļūdu.
funcģenerētV4(){\n v4UUID, kļūda := uuid. JaunsV4()\n \n ja kļūda! = nulle {\n fmt. Println (err)\n }\n \n fmt. Println (v4UUID)\n}\n
The ģenerētV4 metode izdrukā ģenerēto UUID no JaunsV4 metode gouuid iepakojums.
Līdzīgi varat ģenerēt 5. versijas UUID, izmantojot JaunsV5 metodi. The JaunsV5 metode izmanto UUID nosaukumvietas URL un baitu šķēli un atgriež ģenerēto 5. versijas UUID.
funcģenerētV5(){\n v5UUID, kļūda := uuid. NewV5(uuid. NamespaceURL, []baits("go.dev"))\n \n ja kļūda! = nulle {\n fmt. Println (err)\n }\n \n fmt. Println (v5UUID)\n}\n
The ģenerētV5 funkcija izdrukā ģenerētās versijas piekto UUID pēc UUID ģenerēšanas ar JaunsV5 metodi, ja nav ģenerēšanas kļūdu.
Jūs varat ģenerēt UUID, izmantojot lielāko daļu programmēšanas valodu
UUID ir noderīgi daudzos lietošanas gadījumos, tāpēc tie ir populāri ikdienas lietojumprogrammās. Lielākā daļa programmēšanas valodu nodrošina funkcionalitāti UUID ģenerēšanai savās standarta bibliotēkās vai ekosistēmu pakotnēs.