استخدام var للحالة القابلة للتغيير
تعرّفوا إلى متى وكيف تسمحون بإعادة الإسناد
استخدام var للحالة القابلة للتغيير درس مجاني في Zig Academy على CoddyKit. هذا هو الدرس 2 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Zig Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Zig Academy 4 دروس في المجموع.
بعض أجزاء هذا الدرس لم تُترجم بعد وتظهر باللغة الإنجليزية.
When Values Change
Some values truly need to move: a counter, a running total, a current score. For those, Zig gives you the var keyword.
Meet var
The keyword var creates a mutable binding. Unlike const, the name you declare with var can be reassigned again and again.
var score = 0;Reassigning Freely
Once a value is a var, updating it is just a plain assignment. No special syntax is needed, only the name and a new value.
var score = 0;
score = 10;Updating in Place
You can compute a new value from the old one. Adding to a counter is the classic example of useful mutation in a loop.
var count: u32 = 0;
count += 1;Type Often Needed
For a var that starts at zero, Zig may ask for a type so it knows the integer width. Annotate it once and you are set.
var total: i64 = 0;Unused Mutation Warns
If you declare a var but never actually change it, Zig warns you. It nudges you to use const instead for a clearer intent.
var Inside Functions
Mutable locals live inside functions and last for that scope. A loop accumulator declared with var is a perfect everyday use.
var sum: u32 = 0;
sum += value;The Cost of Mutation
Every var is one more thing that can change underfoot. Use it where change is the point, not as a lazy default choice.
Loop Counters
A while loop often drives a var forward each pass. The binding updates, the condition rechecks, and the loop advances.
var i: usize = 0;
while (i < 5) : (i += 1) {}Same Type, New Value
A var can change its value but never its type. An i32 stays an i32; you cannot suddenly store text in a number binding.
var vs const Recap
Think of it simply: const is a value pinned in place, while var is a value that is meant to move. Reach for var only when it must.
Quick Check
You need a counter that increases inside a loop. Which keyword should declare it?
Recap
You learned that var creates a mutable binding for values that change. Annotate its type when needed, and use it only where mutation is truly the goal. 🔁
الأسئلة الشائعة
هل درس «استخدام var للحالة القابلة للتغيير» مجاني؟
نعم — نص درس «استخدام var للحالة القابلة للتغيير» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Zig Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Zig Academy 4 دروس في المجموع.
ماذا ستتعلم في «استخدام var للحالة القابلة للتغيير»؟
تعرّفوا إلى متى وكيف تسمحون بإعادة الإسناد تتمرن على Zig Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ Zig Academy؟
لا تُشترط خبرة سابقة. Zig Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 2 من أصل 4.
كم من الوقت يستغرق درس «استخدام var للحالة القابلة للتغيير»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس Zig Academy هذا؟
نعم. كل درس في Zig Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- استخدام const للقيم التي لا تتغير أبداً
- استخدام var للحالة القابلة للتغيير
- استنتاج النوع مقابل الأنواع الصريحة
- undefined والذاكرة غير المهيأة