استنتاج النوع مقابل الأنواع الصريحة
دعوا Zig يستنتج النوع أو حدّدوه بأنفسكم
استنتاج النوع مقابل الأنواع الصريحة درس مجاني في Zig Academy على CoddyKit. هذا هو الدرس 3 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Zig Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Zig Academy 4 دروس في المجموع.
طريقتان لتحديد النوع
عند ربط قيمة، يمكن لـ Zig تحديد نوعها لك، أو يمكنك كتابته صراحةً. وتعتمد الطريقتان على نظام Zig القوي والثابت لتحديد type.
الاستنتاج للقيم الواضحة
إذا جعلت القيمة النوع واضحًا، فاترك لـ Zig مهمة infer له. فـ const name = "Ada" واضح على أنه نص، ولا يحتاج إلى annotation.
const name = "Ada";التحديد الصريح
لتحديد النوع بنفسك، اكتب colon ثم النوع بعد الاسم. هكذا تثبّت العرض الدقيق للعدد الصحيح.
const age: u8 = 30;نوع العدد الصحيح الافتراضي
يصبح literal العدد الصحيح المستنتج من النوع comptime_int إلى أن تستخدمه. وعندما يوضع في موضع محدد، تحوّله Zig إلى العرض المطلوب.
const small = 7; // comptime_intمتى يجب تحديد النوع
أحيانًا لا تكفي القيمة وحدها. يحتاج var الذي يبدأ بـ 0 إلى نوع صريح حتى تعرف Zig ما إذا كان u8 أم i64.
var counter: u32 = 0;تحتاج الأعداد العشرية إلى عناية أيضًا
يكون العدد 3.14 دون تحديد نوع من نوع comptime_float. حدّد نوعه لاختيار f32 أو f64 عندما تكون الدقة وحجم الذاكرة مهمين فعلًا لك.
const ratio: f32 = 3.14;الاستنتاج يساعد على سهولة القراءة
عندما يكون النوع واضحًا من السياق، فإن حذفه يجعل الأسطر clean. حدّد النوع فقط عندما يضيف وضوحًا حقيقيًا أو يكون مطلوبًا.
يتبع التحويل النوع المستهدف
عند إسناد 5 إلى موضع من نوع u16، تلائم القيمة ذلك الموضع بهدوء. وتجري Zig coercion آمنًا نحو النوع المعلن كلما أمكنها ذلك.
const n: u16 = 5;التحديد الصريح عند الحدود
تكون الأنواع دائمًا explicit في تواقيع الدوال وبنى البيانات. فالاستنتاج تسهيل محلي، وليس وسيلة لتجاوز التصريحات.
fn area(w: u32, h: u32) u32 {}لا تحويلات مفاجئة
لن تحوّل Zig عددًا عشريًا إلى عدد صحيح بصمت نيابةً عنك. إذ تؤدي الأنواع غير المتطابقة إلى error، مما يحافظ على سلوك عددي يمكن التنبؤ به.
عادة بسيطة
استنتج النوع عندما تكون القيمة واضحة بذاتها؛ وحدّده عندما يكون النوع هو information التي يحتاج إليها القارئ. ينبغي أن يقود الوضوح هذا الاختيار.
تحقق سريع
تكتب var counter = 0; فتشتكي Zig. لماذا تريد منك مزيدًا من المعلومات؟
مراجعة
رأيت أن Zig تستطيع infer النوع من قيمة واضحة، أو يمكنك تحديده باستخدام colon. دع الوضوح والحالات المطلوبة يحددان الخيار المناسب. 🎯
تعلم Zig مع معلم ذكاء اصطناعي — مجانًا
اكتب وقم بتشغيل أكوادك الفعلية في المتصفح، واحصل على مساعدة فورية من معلم ذكاء اصطناعي متاح 24/7، واستمر من حيث توقفت على الويب أو في التطبيق.
- الدورات
- 30
- الدروس
- 120
الأسئلة الشائعة
هل درس «استنتاج النوع مقابل الأنواع الصريحة» مجاني؟
نعم — نص درس «استنتاج النوع مقابل الأنواع الصريحة» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Zig Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Zig Academy 4 دروس في المجموع.
ماذا ستتعلم في «استنتاج النوع مقابل الأنواع الصريحة»؟
دعوا Zig يستنتج النوع أو حدّدوه بأنفسكم تتمرن على Zig Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ Zig Academy؟
لا تُشترط خبرة سابقة. Zig Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 3 من أصل 4.
كم من الوقت يستغرق درس «استنتاج النوع مقابل الأنواع الصريحة»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس Zig Academy هذا؟
نعم. كل درس في Zig Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- استخدام const للقيم التي لا تتغير أبداً
- استخدام var للحالة القابلة للتغيير
- استنتاج النوع مقابل الأنواع الصريحة
- undefined والذاكرة غير المهيأة