تخطَّ إلى المحتوى

uuid.Parse

تحليل نص UUID uuid.Parse

uuid.Parse من الحزمة القياسية uuid تحوّل نصًّا يمثّل UUID (بأي صيغة شائعة: بشرطات، بأقواس، أو urn:uuid:) إلى قيمة UUID، مع error واضح عند فشل التحليل.

uuid.Parse تقبل عدّة صيغ نصية شائعة لتمثيل UUID: الصيغة القياسية بشرطات (f81d4fae-7dec-11d0-a765-00a0c91e6bf6)، محاطة بأقواس ({...})، بصيغة urn:uuid:...، أو 32 رمزًا سداسي عشريًا متلاصقًا بلا شرطات. أحرف hex الأبجدية تُقبل بأي حالة (كبيرة أو صغيرة).

عند فشل التحليل (نص غير مطابق لأي صيغة معروفة) تعيد الدالة UUID فارغًا (كل بايتاته أصفار) و error غير nil — لازم التحقّق من الخطأ دائمًا لا افتراض النجاح. للحالات التي تعرف فيها مسبقًا أن النص صالح دائمًا (مثل ثابت مكتوب باليد بالكود)، uuid.MustParse تختصر التحقّق وتُصدر panic عند الفشل بدل إعادة error.

الصياغة

func Parse(s string) (UUID, error)
func MustParse(s string) UUID   // تُصدر panic بدل error عند الفشل

📄 مثال

import "uuid"

id, err := uuid.Parse("f81d4fae-7dec-11d0-a765-00a0c91e6bf6")
if err != nil {
  log.Fatal("uuid غير صالح:", err)
}

// لثابت معروف الصحّة مسبقًا بالكود نفسه
var systemID = uuid.MustParse("00000000-0000-0000-0000-000000000001")

أهم النقاط

العنصرالوظيفة
s stringيقبل الصيغة القياسية بشرطات، بأقواس {}، بصيغة urn:uuid:، أو 32 رمزًا سداسي عشريًا متلاصقًا
MustParseنفس Parse لكن تُصدر panic بدل إعادة error — فقط لثوابت معروفة الصحّة وقت الترجمة/التشغيل، لا لمدخل مستخدم

💡 نصائح عملية

  • استخدم Parse (لا MustParse) لأي نص مصدره مستخدم أو شبكة خارجية — panic غير مناسب أبدًا لمدخل خارجي غير موثوق

⚠️ أخطاء شائعة

  • استخدام MustParse على نص قادم من مستخدم أو قاعدة بيانات خارجية بدل Parse — أي نص غير صالح يُسقط البرنامج بالكامل بدل معالجة الخطأ بهدوء
  • تجاهل error من Parse بافتراض أن النص دائمًا صالح — يعيد UUID فارغًا (أصفار) بصمت لو تجاهلت الفحص

خصائص ذات صلة

🎓 تريد فهم الصورة الكاملة خطوة بخطوة؟ ابدأ من مسار GO الكامل بالعربي.