التصريح عن النوع
جزء من قسم Fundamentals في رحلة Rust على Coddy — الدرس 10 من 75.
بمجرد التصريح عن متغير بنوع معين، فإنه لا يمكنه سوى الاحتفاظ بقيم من ذلك النوع. على سبيل المثال، لا يمكن لمتغير i32 سوى الاحتفاظ بقيم صحيحة، ولا يمكن لمتغير String سوى الاحتفاظ بالنصوص.
على سبيل المثال:
let mut age: i32 = 25; // يمكنه فقط استيعاب الأعداد الصحيحة
let mut name: &str = "Alice"; // يمكنه فقط استيعاب النصوصهذه ستؤدي إلى أخطاء:
age = "Bob"; // خطأ: لا يمكن وضع نص في متغير من نوع i32
name = 30; // خطأ: لا يمكن وضع رقم في متغير من نوع Stringهذه قيم صالحة:
age = 26; // جيد: تعيين عدد صحيح جديد
name = "Jane"; // جيد: تعيين سلسلة نصية جديدةالتحدي
مبتدئقم بالتصريح عن المتغيرات التالية مع أنواعها وقيمها المقابلة:
- متغير من نوع
i32باسمcountوقيمته10. - متغير من نوع
f64باسمtotalوقيمته150.75. - متغير من نوع
charباسمgradeوقيمته'A'. - متغير من نوع
boolباسمis_activeوقيمتهfalse. - متغير من نوع
Stringباسمuser_nameوقيمته"Bob123".
بعد التصريح عن هذه المتغيرات، استخدم println!() لطباعة قيم المتغيرات إلى وحدة التحكم بالتنسيق التالي:
Count: [value of count]
Total: [value of total]
Grade: [value of grade]
Active: [value of is_active]
User Name: [value of user_name]ورقة مرجعية
المتغيرات في Rust لها أنواع ثابتة ويمكنها فقط الاحتفاظ بقيم من ذلك النوع المحدد:
let mut age: i32 = 25; // متغير عدد صحيح
let mut name: &str = "Alice"; // متغير نصيبمجرد التصريح عنها، يمكنك فقط تعيين قيم من نفس النوع. يجب التصريح عن المتغيرات باستخدام mut للسماح بإعادة التعيين:
age = 26; // صالح: تعيين عدد صحيح آخر
name = "Jane"; // صالح: تعيين سلسلة نصية أخرى
age = "Bob"; // خطأ: لا يمكن تعيين نص لـ i32
name = 30; // خطأ: لا يمكن تعيين رقم لـ Stringتشمل أنواع Rust الشائعة ما يلي:
i32- أعداد صحيحة 32 بتf64- أعداد الفاصلة العائمة 64 بتchar- أحرف مفردة (استخدم علامات الاقتباس المفردة)bool- قيم منطقية (true/false)String- سلاسل نصية
جرّب بنفسك
fn main() {
// قم بتعريف المتغيرات هنا
// إخراج القيم
println!("Count: {}", count);
println!("Total: {}", total);
println!("Grade: {}", grade);
println!("Active: {}", is_active);
println!("User Name: {}", user_name);
}يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس Fundamentals
4المعاملات - الجزء الأول
المعاملات الحسابيةمعامل باقي القسمة (Modulo)اختصارات العمليات الحسابيةمعاملات المقارنةمقارنة النصوص7أساسيات الإدخال والإخراج
الطباعة على الكونسولقراءة مدخلات المستخدممراجعة - حتى 120مراجعة - True أو False2المتغيرات - الجزء الأول
الأرقامالمحارف (Char)النصوص (String)القيم المنطقية (Boolean)المتغيرات القابلة للتغيير5المعاملات - الجزء الثاني
المعاملات المنطقية - الجزء الأولالمعاملات المنطقية - الجزء الثانيمراجعة - المنطق البسيطالمعاملات المنطقية - الجزء الثالث11الدوال
تعريف الدوالالمعاملات والوسائطقيم الإرجاعقيم إرجاع متعددةمراجعة - دالة Sigmaمراجعة - دالة التحقق14التكرار عبر المصفوفات
دليل النطاق (Range)حلقة For المحسنةالاستعارة في الحلقةعمليات المصفوفات الشائعة3المتغيرات - الجزء الثاني
التصريح عن النوعقواعد التسميةاستنتاج النوعمراجعة - تهيئة المتغيراتتحويل الأنواع9الحلقات التكرارية
For عبر السلاسلحلقة Whileجملة Breakجملة Continueالحلقات المتداخلةتسميات الحلقاتالحلقة اللانهائيةمراجعة - الإدخال الديناميكي