English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
هناك أنواع من أنواع البيانات الأساسية في لغة Rust هي:
نوع الأعداد الصحيحة (Integer) يعتمد على طول النظام البيني ولوجود أو عدم وجود إشارة إلى أنواع الأعداد الصحيحة التالية:
طول النظام البيني | مسمى | غير مسمى |
---|---|---|
8-bit | i8 | u8 |
16-bit | i16 | u16 |
32-bit | i32 | u32 |
64-bit | i64 | u64 |
128-bit | i128 | u128 |
arch | isize | usize |
نوعان من أنواع الأعداد الصحيحة seize و usize تستخدم لقياس حجم البيانات، طولها في النظام البيني يعتمد على المنصة المستخدمة، إذا كان معالجًا بنظام 32 بت فإنه سيستخدم نوع الأعداد الصحيحة ذات الطول 32 بت.
يمكن تمثيل الأعداد الصحيحة بطرق متعددة:
النظام | مثال |
---|---|
النظام العشري | 98_222 |
النظام العشري | 0xff |
النظام الثماني | 0o77 |
النظام الثنائي | 0b1111_0000 |
البايت (يمكن تمثيل نوع u8 فقط) | b'A' |
من الواضح أن هناك خطاً تحت بعض الأعداد الصحيحة، والتصميم هذا يجعل من السهل على الناس تحديد تقدير القيمة عند إدخال عدد كبير.
Rust يدعم مثل باقي اللغات الأخرى الأعداد العشرية 32 بت (f32) والأعداد العشرية 64 بت (f64). بشكل افتراضي، سيتم تمثيل 64.0 كعدد عشري 64 بت، لأن معالجات الحواسيب الحديثة تعمل بسرعة تقريبية متساوية على حساب الأعداد العشرية من هذين النوعين، ولكن الأعداد العشرية 64 بت تتمتع بدقة أعلى.
fn main() { let x = 2.0; // f64 let y: f32 = 3.0; // f32 }
استخدام برمجة لتعكس العمليات الرياضية:
fn main() { let sum = 5 + 10; // الإضافة let difference = 95.5 - 4.3; // النقص let product = 4 * 30; // الضرب let quotient = 56.7 / 32.2; // التقسيم let remainder = 43 % 5; // الحصول على الباقي }
بعد العديد من علامات التشغيل، يمكن إضافة علامة = لتعني التشغيل الذاتي، مثل:
sum += 1 تساوي sum = sum + 1.
ملاحظة:Rust لا يدعم ++ و --، لأن هاتين العلامتين التشغيليتين تظهر في مقدمة أو خلفية المتغيرات وتؤثر على قابلة قراءة الكود وتقلل من وعي المطور بالتغيرات في المتغير.
نوع الحقيقة يمثل بالـ bool، والقيم يمكن أن تكون فقط true أو false.
نوع الحرف يمثل بالـ char.
حجم نوع char في Rust هو 4 بايت، يمثل قيمة السكالر Unicode، مما يعني أنه يمكنه دعم الحروف غير الإنجليزية مثل الصينية، اليابانية والكورية، وحتى الرموز التعبيرية وفراغات عرض صفرية في Rust هي قيم char صالحة.
نطاق قيم Unicode من U+0000 إلى U+D7FF وU+E000 إلى U+10FFFF (بما في ذلك النهايات). ولكن، مفهوم "حرف" هذا لا يوجد في Unicode، لذا قد لا يتطابق انطباعك عن ما هو "حرف" مع مفهوم حرف Rust. لذا، يُنصح عادةً باستخدام 字符串 لتخزين النصوص UTF-8 (حيثما يمكن أن تكون الحروف غير الإنجليزية في 字符串).
ملاحظة:بسبب أن هناك نوعين من تشفير النصوص الصينية (GBK و UTF-8)، قد تحدث مشاكل في تشفير النصوص الصينية في البرمجة، لأن تشفير البرنامج وتشفير سطر الأوامر غير متوافقين، لذا يجب استخدام تشفير UTF-8 للنصوص والكarakters في Rust، وإلا سيقوم الماكينوم معرفة الخطأ.
تتكون التجميعات من مجموعة من البيانات المدمجة بين علامتي ( ) وتستطيع أن تحتوي على أنواع مختلفة من البيانات:
let tup: (i32, f64, u8) = (500, 6.4, 1); // tup.0 يساوي 500 // tup.1 يساوي 6.4 // tup.2 يساوي 1 let (x, y, z) = tup; // y يساوي 6.4
تتكون المصفوفات من مجموعة من البيانات المماثلة مدمجة بين علامتي [ ].
let a = [1, 2, 3, 4, 5]; // a هو مصفوفة من الأعداد الطبيعية طويلة 5 let b = ["January", "February", "March"]; // b هو مصفوفة من السلاسل طويلة 3 let c: [i32; 5] = [1, 2, 3, 4, 5]; // c هو مصفوفة i32 طويلة 5 let d = [3; 5]; // يساوي let d = [3, 3, 3, 3, 3]; let first = a[0]; let second = a[1]; // زيارة المصفوفة a[0] = 123; // خطأ: لا يمكن تعديل المصفوفة a let mut a = [1, 2, 3]; a[0] = 4; // صحيح