Zig Academy · درس

القيم الافتراضية للحقول

هيّئوا الحقول دون تكرار

الدرس 3 من 413 خطوة

القيم الافتراضية للحقول درس مجاني في Zig Academy على CoddyKit. هذا هو الدرس 3 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Zig Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Zig Academy 4 دروس في المجموع.

تكرار الكتابة

إذا بدأت معظم النسخ بالطريقة نفسها، فإن إعادة كتابة كل حقل أمر ممل. يتيح لكم Zig أن يحمل الحقل قيمة افتراضية مضمّنة في النوع.

منح حقل قيمة افتراضية

أضيفوا = value بعد نوع الحقل. وستحصل أي نسخة تحذف هذا الحقل على القيمة الافتراضية تلقائيًا.

const Config = struct {
    retries: u8 = 3,
};

احذفه عند الإنشاء

يمكنكم الآن إنشاء قيمة من دون ذكر الحقل ذي القيمة الافتراضية، وستظل قيمته 3.

const c = Config{};

تجاوز القيمة عند الحاجة

القيمة الافتراضية ليست سوى نقطة بداية. اضبطوا الحقل صراحةً في المُهيّئ لاستخدام قيمة مختلفة.

const c = Config{ .retries = 5 };

امزجوا بين الحقول الافتراضية والمطلوبة

يمكن للبنية الجمع بين النوعين. فالحقول التي لا تملك قيمة افتراضية مطلوبة، أما الحقول ذات القيم الافتراضية فيمكن تخطيها.

const User = struct {
    name: []const u8,
    active: bool = true,
};

المُهيّئ الفارغ

إذا كانت لكل الحقول قيمة افتراضية، يمكنكم الإنشاء باستخدام .{} فقط، وتطبيق جميع القيم الافتراضية دفعة واحدة.

const Settings = struct {
    volume: u8 = 50,
    muted: bool = false,
};
const s = Settings{};

القيم الافتراضية تُحدَّد وقت الترجمة

يجب أن تكون القيمة الافتراضية قيمة يستطيع Zig حسابها في وقت الترجمة، مثل قيمة حرفية أو تعبير comptime.

const Limits = struct {
    max: usize = 1024,
};

يمكن لأي نوع امتلاك قيمة افتراضية

تعمل القيم الافتراضية مع أي نوع من الحقول: الأعداد، والقيم المنطقية، والمقاطع، وحتى البنى المتداخلة التي تملك قيمها الافتراضية.

const Box = struct {
    size: Settings = Settings{},
};

القيمة الافتراضية هي null

غالبًا ما تكون القيمة الافتراضية للحقل الاختياري هي null، وهي طريقة واضحة للقول إنه يبدأ فارغًا حتى تملؤوه.

const Node = struct {
    next: ?*Node = null,
};

شيفرة أوضح وأكثر أمانًا

تقلل القيم الافتراضية ما تكتبونه عند الاستدعاء، وتوثق حالة البدء المقصودة، بحيث يرى القارئ القيمة العادية مباشرةً في النوع.

القيم الافتراضية خاصة بكل نسخة

تحصل كل نسخة جديدة على نسخة جديدة خاصة بها من القيمة الافتراضية. ولا تشترك القيم في الحالة مطلقًا.

تحقق سريع

ماذا يحدث للحقل ذي القيمة الافتراضية الذي تتركونه؟

مراجعة

تعلمتم القيم الافتراضية للحقول: اكتبوا = value بعد الحقل، ثم احذفوه لاستخدام القيمة الافتراضية أو اضبطوه لتجاوزها. ⚙️

البدء مجانًا

تعلم Zig مع معلم ذكاء اصطناعي — مجانًا

اكتب وقم بتشغيل أكوادك الفعلية في المتصفح، واحصل على مساعدة فورية من معلم ذكاء اصطناعي متاح 24/7، واستمر من حيث توقفت على الويب أو في التطبيق.

الدورات
30
الدروس
120

الأسئلة الشائعة

هل درس «القيم الافتراضية للحقول» مجاني؟

نعم — نص درس «القيم الافتراضية للحقول» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Zig Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Zig Academy 4 دروس في المجموع.

ماذا ستتعلم في «القيم الافتراضية للحقول»؟

هيّئوا الحقول دون تكرار تتمرن على Zig Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ Zig Academy؟

لا تُشترط خبرة سابقة. Zig Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 3 من أصل 4.

كم من الوقت يستغرق درس «القيم الافتراضية للحقول»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس Zig Academy هذا؟

نعم. كل درس في Zig Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. التصريح عن الهياكل والحقول
  2. الطرائق ومعامل self
  3. القيم الافتراضية للحقول
  4. الهياكل المجهولة والصفوف
← العودة إلى Zig Academy