0Pricing
Zig Academy · درس

التصريح عن الهياكل والحقول

اجمعوا البيانات المرتبطة في نوع واحد

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

اجمع البيانات المرتبطة

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

struct تعبير

في Zig، تُنشأ struct باستخدام الكلمة المفتاحية struct وجسم. وعادةً ما تربطها بثابت const لمنح النوع اسمًا.

const Point = struct {};

أضف بعض الحقول

داخل القوسين المعقوفين، تسرد الحقول، ويحتوي كل منها على اسم ونوع. وتصف هذه الحقول البيانات التي تحتويها كل قيمة من قيم struct.

const Point = struct {
    x: i32,
    y: i32,
};

تنتهي الحقول بفاصلة

ينتهي تصريح كل حقل بـ فاصلة، حتى الحقل الأخير. Zig صارم في هذا الأمر، لذا يحافظ المنسّق على اتساقه.

const Color = struct {
    r: u8,
    g: u8,
    b: u8,
};

أنشئ نسخة

لإنشاء قيمة، اكتب اسم النوع ومهيئًا من الشكل .{}، مع تعيين كل حقل باسمه.

const origin = Point{ .x = 0, .y = 0 };

استخدم النقطة لقراءة حقل

يمكنك الوصول إلى حقل باستخدام نقطة بعد القيمة. لذلك يقرأ origin.x الحقل x من تلك النقطة.

const px = origin.x;

التعديل يتطلب var

لتغيير حقل، يجب أن تكون النسخة من النوع var. أما struct من النوع const، وجميع حقوله، فتبقى غير قابلة للتغيير.

var p = Point{ .x = 1, .y = 2 };
p.x = 5;

يمكن أن تكون الحقول من أي نوع

يمكن للحقل أن يحتوي على أي شيء: bool أو شريحة أو حتى struct أخرى. ويمكن تداخل البنى بحرية لنمذجة أشكال أكثر تعقيدًا.

const Line = struct {
    start: Point,
    end: Point,
};

ترتيب الحقول

في struct عادية، قد يعيد Zig ترتيب الحقول في الذاكرة لتحسين التعبئة. وبما أنك تسمي الحقول، فلا يؤثر التخطيط في شيفرتك.

البنى أنواع قيم

يؤدي إسناد struct أو تمريرها إلى نسخها حسب القيمة. ولا تتأثر النسخة الأصلية إلا إذا استخدمت مؤشرًا عمدًا.

var a = Point{ .x = 1, .y = 1 };
var b = a; // b is a copy

نوع، لا متغير

يصف تعريف struct نوعًا، مثل مخطط. أما النسخ فهي القيم الفعلية التي تنشئها من ذلك المخطط.

تحقق سريع

كيف تنشئ قيمة من نوع struct؟

مراجعة

تعرّفت إلى structs: تجمع الكلمة المفتاحية struct الحقول المسماة في نوع، وتنشئ Type{ .field = value } نسخةً منه. 🧱

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

هل درس «التصريح عن الهياكل والحقول» مجاني؟

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

ماذا ستتعلم في «التصريح عن الهياكل والحقول»؟

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

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

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

كم من الوقت يستغرق درس «التصريح عن الهياكل والحقول»؟

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

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

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

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

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