القراء مثلك يساعدون في دعم MUO. عند إجراء عملية شراء باستخدام الروابط الموجودة على موقعنا ، فقد نربح عمولة تابعة. اقرأ أكثر.

Rust هي لغة برمجة حديثة مكتوبة بشكل ثابت مصممة للأداء والموثوقية والأمان. كما هو الحال في اللغات الأخرى المكتوبة بشكل ثابت ، فإنك تعلن عن أنواع بيانات Rust في وقت الترجمة. هذا يجعل من السهل اكتشاف أخطاء الكتابة قبل تشغيل التعليمات البرمجية الخاصة بك.

يوفر Rust أنواعًا قياسية ومركبة وأنواع مرجعية وبنى وتعدادات وسلاسل. يوفر الاستدلال النوعي وظيفة لكتابة رمز موجز مع الحفاظ على أمان اللغة المكتوبة بشكل ثابت.

عدد صحيح في الصدأ

يوفر Rust أنواعًا صحيحة موقعة وغير موقعة مصنفة بناءً على عدد البتات. أنواع الأعداد الموقعة هي i8, i16, i32، و i64 تمثل الأعداد الصحيحة الموقعة 8 بت و 16 بت و 32 بت و 64 بت ، على التوالي. كما أنها تدعم أنواع الأعداد الصحيحة بدون إشارة u8, u16, u32، و u64، تمثل 8 بت و 16 بت و 32 بت و 64 بت أعدادًا صحيحة بدون إشارة.

// الأعداد الصحيحة الموقعة
يترك أ: i8 = -10;
يترك ب: i16 = -2048;
يترك ج: i32 = -2147483648;
يترك د: i64 = -9223372036854775808;

// أعداد صحيحة بدون إشارة

instagram viewer

يترك ه: u8 = 255;
يترك f: u16 = 65535;
يترك ز: u32 = 4294967295;
يترك ح: u64 = 18446744073709551615;

يستخدم الصدأ i32 اكتب للأعداد الصحيحة بشكل افتراضي.

أنواع الصدأ العائمة

يوفر الصدأ f32 و f64 كأنواع فاصلة عائمة تمثل أرقام فاصلة عائمة أحادية الدقة ومزدوجة الدقة. ال f32 النوع يستخدم 32 بت لتخزين القيم ، و f64 النوع يستخدم 64 بت.

تتبع أرقام الفاصلة العائمة في Rust معيار IEEE 754 لحساب الفاصلة العائمة.

يترك أ = 3.14159265358979323_f32 ؛
يترك ب = 2.718281828459045235_f64 ؛

باستخدام Rust Booleans

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

يترك متغير_1: منطقي = حقيقي;
يترك متغير_2: منطقي = خطأ شنيع;

يمكنك مقارنة القيم المنطقية مع عامل المساواة ، ==، وعامل عدم المساواة ، !=. لا يحدد الصدأ عوامل المقارنة ، , <=, و >=، ل منطقي قيم.

يترك متغير_1: منطقي = حقيقي;
يترك متغير_2: منطقي = خطأ شنيع;

إذا المتغير_1 == متغير_2 {
println! ("المتغير_1 يساوي المتغير_2");
} آخرلو متغير_1! = متغير_2 {
println! ("المتغير_1 لا يساوي المتغير_2");
}

نوع الحرف

الصدأ شار النوع يمثل قيمة عددية Unicode واحدة يمكن أن تمثل أي حرف في معيار يونيكود. يمكنك تحديد ملف شار قيمة باستخدام علامات الاقتباس المفردة.

// التصريح بقيمة char
يترك ج = 'أ';

ال شار الكتابة مفيدة للعمل مع الرموز التعبيرية في Rust.

Tuples in Rust

تتيح لك بنية البيانات tuple تجميع أكثر من قيمة في قيمة مركبة واحدة. يمكن أن يكون لهذه القيم نفس النوع أو أنواع مختلفة. يمكنك التصريح عن المجموعات بكتابتها كقائمة قيم مفصولة بفواصل محاطة بأقواس.

إليك كيفية تعريف مجموعة بأعداد صحيحة 32 بت ، وسلاسل ، وقيم float64.

يترك tup: (i32، & str، f64) = (500, "مرحبًا", 3.14);

تمتلك المجموعات طولًا ثابتًا ، ويمكنك استخدامها لإرجاع قيم متعددة من دالة أو تمرير قيم متعددة إلى وظائف كوسيطة واحدة.

يمكنك الوصول إلى عناصر فردية من المجموعة عن طريق إتلافها باستخدام مطابقة النمط أو الوصول المباشر إلى العناصر الفردية باستخدام صيغة النقطة (.) والفهرس.

إليك كيفية الوصول إلى العناصر الفردية للبنية باستخدام مطابقة الأنماط:

يترك my_tuple = (10, "مرحبا بالعالم!", خطأ شنيع);

يترك (س ، ص ، ض) = my_tuple ؛

println! ("العنصر الأول هو: {}"، خ) ؛
println! ("العنصر الثاني هو: {}"، ذ) ؛
println! ("العنصر الثالث هو: {}"، ض) ؛

إليك كيفية الوصول إلى العناصر الفردية باستخدام تدوين النقاط:

يترك my_tuple = (10, "مرحبا بالعالم!", خطأ شنيع);

println!("الأولاًعنصريكون: {}", my_tuple.0);
println!("الثانيةعنصريكون: {}", my_tuple.1);
println!("الثالثعنصريكون: {}", my_tuple.2);

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

صفائف في الصدأ

المصفوفة هي مجموعة من العناصر من نفس النوع بطول ثابت. تكتب مصفوفات Rust كقائمة قيم ذات أقواس مربعة ، مفصولة بفواصل.

إليك كيفية تعريف المصفوفات في Rust:

يترك arr = [1, 2, 3, 4, 5];

لا يمكنك تغيير عدد العناصر في المصفوفة بمجرد إعلانها ، ولكن يمكنك الوصول إلى العناصر الفردية للمصفوفة وتعديلها ومعالجتها باستخدام الفهرسة.

يترك mut my_array = [1, 2, 3, 4, 5];

// الوصول إلى العناصر
println!("الأولاًعنصريكون: {}", my_array[0]);

// تعديل العناصر
my_array [0] = 100 ؛
println!("الأولاًعنصربعدتعديليكون: {}", my_array[0]);

// التكرار على مصفوفة ومعالجة العناصر
لأنافي 0..my_array.len() {
my_array [i] * = 2 ؛
}

// طباعة المصفوفة
println! ("المصفوفة بعد التلاعب: {:؟}"، my_array) ؛

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

العمل مع شرائح الصدأ

الشريحة هي بنية بيانات تسمح بالإشارة إلى تسلسل متجاور من العناصر في مجموعة. يتم تمثيل الشرائح بواسطة & [T] type ، حيث T هو نوع العناصر المخزنة في الشريحة.

الجبهة الوطنية رئيسي(){
// تعلن عن مجموعة
يترك my_array = [1, 2, 3, 4, 5];

// إنشاء شريحة من المصفوفة
يترك my_slice = & my_array [1..3];

// طباعة الشريحة
println! ("شريحة: {:؟}"، my_slice) ؛
}

لاحظ كيف أن بناء جملة النطاق ، ..، يستخرج شريحة من مصفوفة باستخدام فهرس البداية وفهرس أكبر من النهاية:

الشرائح ديناميكية ، لذا يمكن لـ Rust تحديد طولها في وقت التشغيل. يمكنك أيضًا تمرير الشرائح كوسائط للوظائف دون الحاجة إلى تخصيص الكومة.

ستستخدم بشكل شائع الشرائح لعمليات السلاسل وتمرير مجموعات فرعية من البيانات إلى الوظائف. إنها أداة قوية وفعالة لإدارة المجموعات في Rust ، وتوفر بديلاً أكثر مرونة للمصفوفات.

يمكنك إنشاء تطبيقات الويب الأمامية التي تدعم WebAssembly في الصدأ

تعد معرفة أنواع البيانات أمرًا محوريًا في رحلة Rust نظرًا لأنك ستستخدمها في معظم العمليات أثناء إنشاء التطبيقات.

WebAssembly هو تنسيق ثنائي منخفض المستوى يعمل على متصفحات الويب الحديثة ، مع أداء شبه أصلي. يتيح لك كتابة التعليمات البرمجية بالعديد من اللغات المختلفة وتحويلها إلى WebAssembly.

WebAssembly يكتسب اعتمادًا من خلال Rust. هناك العديد من الأطر مثل Yew و Sycamore و Seed التي يمكنك استخدامها لبناء واجهات WebAssembly مع Rust.