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

منذ إصداره في عام 2015 ، اكتسب Rust شعبية كواحدة من لغات البرمجة المفضلة للمطورين. يوفر Rust أداءً ممتازًا وميزات أمان مع صياغة بديهية وموجزة تجعل اللغة مرغوبة.

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

الشروع في التعامل مع الصدأ

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

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

المتغيرات والثوابت في الصدأ

الصدأ معبر للغاية ، وهناك طرق متعددة للإعلان عن المتغيرات. يمكنك استخدام ال يترك الكلمة الأساسية للإعلان عن المتغيرات.

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

instagram viewer
يترك أ: خيط;
يترك ب: i32;
يترك ج: () = () ؛

ال أ و ب المتغيرات هي سلسلة وعدد صحيح ، على التوالي. ال ج المتغير هو نوع وحدة الصدأ الذي يعمل كعنصر نائب للوظائف والتعبيرات.

بعد التصريح عن نوع البيانات الاختياري ، يمكنك التصريح عن المتغيرات وتهيئتها بقيم باستخدام علامة التساوي.

الجبهة الوطنيةرئيسي(){
يترك عمر: خيط = خيط::من("خمس سنوات");

يترك العمر = 5; // مكافئ للسماح للعمر: i32 = 5 ؛
println!("{}"، عمر)؛
}

البرنامج يعلن اثنين عمر المتغيرات قبل الطباعة بملحق println! دقيق. الأول عمر متغير يحدد نوع البيانات ، والثاني لا.

لا يتعين عليك تحديد نوع بيانات متغير عندما تعلنه. يستنتج برنامج التحويل البرمجي Rust النوع من نوع بيانات القيمة في وقت الترجمة.

يمكنك أيضًا تعريف الثوابت في Rust بامتداد مقدار ثابت الكلمة الرئيسية بطريقة مماثلة للإعلان عن المتغيرات:

مقدار ثابت عمر: &شارع = "خمس سنوات";

لا يمكنك تعديل قيمة المتغير الذي تعلن أنه ثابت.

يوفر Rust وظائف للتعليقات أحادية الخط والكتلة. يمكنك استخدام خطوط مائلة مزدوجة للأمام (//) للتعليقات أحادية السطر:

الجبهة الوطنيةرئيسي() {
// هذا تعليق سطر
يترك س = 5; // يوضح هذا التعليق الغرض من المتغير `x`
}

بالنسبة إلى التعليقات متعددة الأسطر (تعليقات الحظر) ، استخدم الشرطة المائلة للأمام متبوعة بعلامة النجمة (/*) وأغلق الكتلة بعلامة النجمة متبوعة بشرطة مائلة للأمام (*/):

الجبهة الوطنيةرئيسي() {
/*
هذا تعليق جماعي يمتد على عدة أسطر.
غالبًا ما يستخدم لوصف كتلة أكبر من التعليمات البرمجية.
*/
يترك س = 5;
}

يجب أن تكون تعليقاتك موجزة ومباشرة.

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

المصفوفات هي مجموعة ذات حجم ثابت من العناصر من نفس نوع البيانات. يخصص Rust المصفوفات على المكدس افتراضيًا.

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

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

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

الجبهة الوطنيةرئيسي() {
يترك أرقام = [1, 2, 3, 4, 5];
يترك س = أرقام [3];
println!("{}"، خ)
}

ال رئيسي تقوم الوظيفة بطباعة ملف x متغير يصل إلى العنصر الرابع من المصفوفة.

ناقلات في الصدأ

يوفر الصدأ نواقل للتستر على قيود المصفوفة. النواقل ذات حجم ديناميكي ؛ يمكن أن تنمو وتتقلص حسب الحاجة.

إليك كيفية تعريف المتجهات في Rust:

الجبهة الوطنيةرئيسي() {
يترك my_vec: Vec<i32> = vec![1, 2, 3, 4, 5];
يترك س = my_vec [3];
println!("{}"، خ)
}

ال my_vec المتجه هو متجه من الأعداد الصحيحة 32 بت. ال x متغير يصل إلى العنصر الرابع للمتجه ، و رئيسي وظيفة تطبع القيمة إلى وحدة التحكم.

جمل شرطية لصدأ

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

ها هي لو عبارة تطبع سلسلة إلى وحدة التحكم بناءً على المساواة بين عددين صحيحين.

الجبهة الوطنيةرئيسي() {
يترك أ: i32 = 12;

لو أ == 12 {
println!("a يساوي اثني عشر");
}
}

ال رئيسي تقوم الوظيفة بطباعة السلسلة بامتداد println! ماكرو لأن المتغير يساوي 12.

يمكنك استخدام ال آخر الكلمة الأساسية للتعامل مع الحالات التي يكون فيها ملف لو يقيّم البيان خطأ:

الجبهة الوطنيةرئيسي() {
يترك أ: i32 = 12;

لو أ == 123 {
println!("a يساوي اثني عشر");
} آخر {
println!("أ لا يساوي اثني عشر");
}
}

في هذا المثال ، فإن ملف آخر يتم تشغيل العبارة لأن قيمة a لا تساوي 123.

يمكنك التصريح عن بيانات المباراة بامتداد مباراة الكلمة الأساسية للشرطية المعقدة:

الجبهة الوطنيةرئيسي() {
يترك عمر: i32 = 7;

مباراة عمر {
1 => println!("واحد"),
2 => println!("اثنين"),
3 => println!("ثلاثة"),
_ => println!("صفر"),
}
}

ال رئيسي تتطابق الوظيفة مع عمر متغير للحالات في مباراة البيان وينفذ التعبير المطابق للقيمة. الشرطة السفلية (_) هي العبارة الافتراضية التي يتم تشغيلها إذا كان هناك تطابق للقيمة.

حلقات في الصدأ

يوفر Rust حلقات للمهام المتكررة. الصدأ له ثلاثة أنواع رئيسية من الحلقات: حلقة, بينما، و ل الحلقات.

ال حلقة تنشئ الكلمة الأساسية حلقة لا نهائية تعمل حتى تصادف كلمة رئيسية فاصلة:

الجبهة الوطنيةرئيسي() {
حلقة {
println!("تتم طباعته بشكل متكرر حتى تتم مصادفة بيان الفاصل.");
استراحة;
}
}

ال بينما تكون الحلقة سهلة الاستخدام عندما تريد تكرار كتلة من التعليمات البرمجية طالما يتم تقييم الشرط على أنه صحيح:

الجبهة الوطنيةرئيسي() {
يتركموت العد = 0;

بينما العد < 5 {
println!("العدد {}"، عدد)؛
العد + = 1;
}
}

أ ل الحلقة مفيدة للتكرار عبر مجموعة من العناصر ، مثل المصفوفة:

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

ل غرض في number.iter () {
println!("العنصر الحالي هو {}"، غرض)؛
}
}

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

إعلان واستدعاء وظائف الصدأ

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

إليك كيف يمكنك التصريح عن دالة بالمعلمات ونوع الإرجاع:

الجبهة الوطنيةيضيف(أ: i32، ب: i32) -> i32 {
يعود أ + ب ؛
}

ال يضيف تأخذ الدالة عددين صحيحين 32 بت وتعيد عددًا صحيحًا 32 بت ، مجموع المعلمتين.

لاستدعاء دالة من مكان آخر في التعليمات البرمجية الخاصة بك ، ما عليك سوى تحديد الاسم والوسيطات (إن وجدت):

الجبهة الوطنيةرئيسي() {
يترك النتيجة = إضافة (2, 3);
println!("2 + 3 = {}"، نتيجة)؛
}

ال نتيجة المتغير يحمل النتيجة من استدعاء يضيف وظيفة. ال رئيسي تقوم الوظيفة بطباعة النتيجة إلى وحدة التحكم باستخدام ملف println! دقيق.

الهياكل في الصدأ

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

إليك كيف يمكنك التصريح بالبنية:

هيكلشخص {
اسم: خيط,
عمر: u32,
هو_الذكور: منطقي,
}

ال شخص تحتوي البنية على ثلاثة حقول: سلسلة ، وعدد صحيح بدون إشارة 32 بت ، وخط منطقي.

بعد تحديد البنية ، يمكنك إنشاء مثيلات لها في أجزاء أخرى من برنامجك:

الجبهة الوطنيةرئيسي() {
يترك person1 = شخص {
اسم: خيط::من("كانديس فلين"),
عمر: 16,
هو_الذكور: خطأ شنيع,
};
}

ال شخص 1 المتغير هو مثيل لـ شخص هيكل. عند إنشاء مثيل ، يمكنك تعيين قيم لحقول البنية. يمكنك إنشاء العديد من مثيلات الهيكل كما يحلو لك.

يمكنك تنفيذ مفاهيم OOP في الصدأ

Rust مرن ، ويمكنك تنفيذ مفاهيم OOP في Rust باستخدام هياكل بيانات مضمنة مثل الهياكل.

ستستخدم البنيات كبديل للفصول. باستخدام بنية Rust ، يمكنك تحديد مخطط للنوع وتنفيذ مفاهيم OOP المختلفة مع الوظائف التي يوفرها Rust في الهياكل.