يقدم Go العديد من الطرق لإنشاء UUID ، وهي طريقة ملائمة وقوية لتنظيم بياناتك.
المعرفات الفريدة عالميًا (UUID) شائعة لتعريف المستخدم في التطبيقات حيث تكون درجة عالية من العشوائية ضرورية. تعد معرّفات UUID اختيارًا جيدًا للتطبيقات التي تخدم ملايين المستخدمين نظرًا لأنها تقلل من فرصة الاصطدامات وتميزها عالميًا عبر الأنظمة.
لا يوفر Go أي حزمة (حزم) لإنشاء UUIDs. نظرًا لأن معظم أنظمة التشغيل المتعلقة بـ Unix تتضمن uuidgen البرنامج ، يمكنك استخدام نظام التشغيل حزمة لتوليدها. يمكنك أيضًا استخدام حزمة Go خارجية مثل حزمة Google uuid أو ال جويد طَرد.
إنشاء UUIDs مع حزمة نظام التشغيل
الذهاب نظام التشغيل توفر الحزمة وظائف للتفاعل مع نظام تشغيل الجهاز المضيف بطريقة تشبه يونكس. يمكنك تنفيذ الأوامر باستخدام ملف إكسيك حزمة فرعية من نظام التشغيل الحزمة واسترداد الإخراج الخاص بك برامج Go.
قم باستيراد هذه الحزم المضمنة في ملف Go الخاص بك لإنشاء UUIDs بامتداد نظام التشغيل طَرد.
يستورد (\ن "FMT"\ن "سجل"\ن "os / exec"\ n) \ n
ستستخدم ملف سجل الحزمة لتسجيل الأخطاء المحتملة و ال fmt حزمة تنسيق السلسلة لإخراج UUID الذي تم إنشاؤه.
يمكنك تشغيل الأوامر بملحق يأمر طريقة إكسيك طَرد. ال انتاج | طريقة إرجاع إخراج الأمر.
funcأوسيك() {\ n إنشاء UUID ، يخطئ: = exec. يأمر("uuidgen"). الإخراج () \ n \ n لو يخطئ! لا شيء {\ n سجل. فادح (يخطئ) \ n} \ n \ n fmt. Println (إنشاء UUID) \ n} \ n
ال أوسيك تقوم الوظيفة بإنشاء UUID وطباعته باستخدام ملحق uuidgen يأمر.
إنشاء UUIDs باستخدام حزمة UUID من Google
الجوجل uuid تقوم الحزمة بإنشاء وفحص UUIDs بناءً على RFC 4122 و DCE 1.1 خدمات المصادقة والأمن.
قم بتشغيل هذا الأمر الطرفي في دليل مشروعك لتثبيت uuid الحزمة باعتبارها واحدة من تبعيات مشروعك.
يذهب احصل على github.com/google/uuid\n
قم باستيراد ملف uuid الحزمة لتوليد UUIDs و fmt الحزمة لإخراج UUID إلى وحدة التحكم الخاصة بك.
يستورد (\ن "FMT"\ن "github.com/google/uuid"\ n) \ n
يمكنك إنشاء UUID مع حزمة uuid جديد طريقة. ال جديد تقوم الطريقة بإرجاع UUID عشوائي ، ويمكنك استخدام خيط طريقة للحصول على تمثيل سلسلة منه.
funcgoogleUUID() {\ n uuidValue: = uuid. جديد () \ n fmt. Println (uuidValue. سلسلة ()) \ n} \ n
ال googleUUID تستخدم الوظيفة ال جديد طريقة لطباعة تنسيق سلسلة UUID عشوائي.
إنشاء UUIDs باستخدام حزمة GoUUID
حزمة gouuid يوفر هياكل ووظائف UUID غير قابلة للتغيير لإنشاء UUIDs NewV3 و NewV4 و NewV5 وتحليل UUIDs كما هو محدد في RFC 4122.
قم بتشغيل هذا الأمر في المحطة الطرفية لدليل العمل لتثبيت ملف جويد حزمة إلى تبعيات مشروعك.
يذهب احصل على github.com/nu7hatch/gouuid\n
قم باستيراد ملف fmt و جويد حزم مع الاسم المستعار uuid (تقليدي) لتوليد UUIDs.
يستورد (\ن "FMT"\ n uuid "github.com/nu7hatch/gouuid"\ n) \ n
يمكنك إنشاء معرّف UUID للإصدار 4 بامتداد الجديد طريقة إرجاع UUID أو خطأ.
funcتوليد V4(){\ n v4UUID ، يخطئ: = uuid. NewV4 () \ n \ n لو يخطئ! لا شيء {\ n fmt. Println (يخطئ) \ n} \ n \ n fmt. Println (v4UUID) \ n} \ n
ال توليد V4 تقوم الطريقة بطباعة UUID الذي تم إنشاؤه من ملف الجديد طريقة جويد طَرد.
وبالمثل ، يمكنك إنشاء معرّف UUID للإصدار 5 بامتداد الجديد طريقة. ال الجديد يأخذ الأسلوب URL مساحة اسم UUID وشريحة بايت ويعيد الإصدار 5 UUID الذي تم إنشاؤه.
funcتوليد V5(){\ n v5UUID ، يخطئ: = uuid. NewV5 (uuid. NamespaceURL ، []بايت("go.dev")) \ n \ n لو يخطئ! لا شيء {\ n fmt. Println (يخطئ) \ n} \ n \ n fmt. Println (v5UUID) \ n} \ n
ال توليد V5 تقوم الوظيفة بطباعة الإصدار الخامس الذي تم إنشاؤه UUID بعد إنشاء UUID بامتداد الجديد الطريقة في حالة عدم وجود أخطاء في التوليد.
يمكنك إنشاء UUID مع معظم لغات البرمجة
تعد UUIDs مفيدة للعديد من حالات الاستخدام ، لذا فهي شائعة في التطبيقات اليومية. توفر معظم لغات البرمجة وظائف لتوليد UUIDs في مكتباتهم القياسية أو حزم النظام البيئي الخاصة بهم.