أنواع البيانات البدائية والعوامل
استكشفوا أنواع البيانات البدائية المضمّنة في Rust، مثل الأعداد الصحيحة والعائمة والقيم المنطقية والمحارف، إلى جانب العوامل الشائعة.
أنواع البيانات البدائية والعوامل درس مجاني في Learn Rust Coding على CoddyKit. هذا هو الدرس 2 من أصل 3. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Learn Rust Coding، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Learn Rust Coding 3 دروس في المجموع.
بعض أجزاء هذا الدرس لم تُترجم بعد وتظهر باللغة الإنجليزية.
Intro to Primitive Data Types
Welcome to a foundational lesson in Rust! Today, we'll explore primitive data types and basic operators.
Primitive types are the most fundamental building blocks for storing data. They represent simple values like numbers, true/false, or single characters.
Understanding these types is crucial for writing efficient and correct Rust code.
Rust's Integer Types
Rust provides various integer types to fit different needs. They come in two main flavors:
- Signed Integers (
iprefix): Can store both positive and negative numbers (e.g.,i8,i32,i64). - Unsigned Integers (
uprefix): Can only store positive numbers or zero (e.g.,u8,u32,u64).
The number indicates the bits of storage, e.g., i32 is a 32-bit signed integer. isize and usize are pointer-sized integers, adapting to your system's architecture (32-bit or 64-bit).
Declaring Integer Variables
Let's see how to declare and use integer types in Rust. Notice how we can explicitly add a type annotation or let Rust infer it.
Try running this example:
fn main() {
let signed_val: i32 = -100;
let unsigned_val: u32 = 250;
let inferred_int = 500; // Rust infers i32 by default
let big_unsigned: u64 = 1_000_000_000;
println!("Signed: {}", signed_val);
println!("Unsigned: {}", unsigned_val);
println!("Inferred: {}", inferred_int);
println!("Big Unsigned: {}", big_unsigned);
}Floating-Point Numbers
For numbers with decimal points, Rust offers floating-point types:
f32: Single-precision float (32-bit).f64: Double-precision float (64-bit). This is the default floating-point type in Rust.
f64 is generally preferred for most applications due to its higher precision, unless you have specific memory or performance constraints.
Declaring Float Variables
Here's how to declare floating-point numbers. Notice that Rust defaults to f64 if you don't specify a type.
Try running this example:
fn main() {
let pi: f32 = 3.14159;
let e = 2.718281828; // Inferred as f64
let temperature: f64 = 98.6;
println!("Pi (f32): {}", pi);
println!("E (f64 inferred): {}", e);
println!("Temperature (f64): {}", temperature);
}Booleans and Characters
Beyond numbers, Rust has types for logical values and single letters:
bool: Represents a truth value, eithertrueorfalse.char: Represents a single Unicode scalar value. This means acharcan be more than just ASCII – it can be any letter, emoji, or symbol.
A char uses 4 bytes of memory, ensuring it can store any Unicode character.
Bools and Chars in Action
Let's declare some boolean and character variables. Notice the single quotes for char values.
Try running this example:
fn main() {
let is_rust_fun: bool = true;
let has_errors = false; // Inferred as bool
let first_letter: char = 'R';
let emoji_char: char = '🚀';
println!("Is Rust fun? {}", is_rust_fun);
println!("Has errors? {}", has_errors);
println!("First letter: {}", first_letter);
println!("Emoji: {}", emoji_char);
}Basic Arithmetic Operators
Just like in math, Rust uses operators to perform calculations. Here are the common arithmetic operators:
+: Addition-: Subtraction*: Multiplication/: Division%: Remainder (Modulo)
Remember that integer division (e.g., 10 / 3) will truncate the decimal part, resulting in an integer (3, not 3.33).
Using Arithmetic Operators
Let's put these operators into practice with some numbers. Pay attention to how integer division behaves!
Try running this example:
fn main() {
let a = 15;
let b = 4;
println!("Addition: 15 + 4 = {}", a + b);
println!("Subtraction: 15 - 4 = {}", a - b);
println!("Multiplication: 15 * 4 = {}", a * b);
println!("Integer Division: 15 / 4 = {}", a / b);
println!("Remainder: 15 % 4 = {}", a % b);
let x = 15.0;
let y = 4.0;
println!("Float Division: 15.0 / 4.0 = {}", x / y);
}Primitive Types Quiz
Test your understanding of Rust's primitive data types and basic operators.
Recap: Primitives & Operators
Great job! You've learned about Rust's fundamental data types:
- Integers:
i8,u8,i32,u32, etc., for whole numbers. - Floats:
f32andf64for decimal numbers. - Booleans:
boolfortrueorfalse. - Characters:
charfor single Unicode values.
You also explored basic arithmetic operators like +, -, *, /, and %. These are the building blocks for more complex logic in your programs.
الأسئلة الشائعة
هل درس «أنواع البيانات البدائية والعوامل» مجاني؟
نعم — نص درس «أنواع البيانات البدائية والعوامل» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Learn Rust Coding، انتقل إلى CoddyKit PRO. تتضمن دورة Learn Rust Coding 3 دروس في المجموع.
ماذا ستتعلم في «أنواع البيانات البدائية والعوامل»؟
استكشفوا أنواع البيانات البدائية المضمّنة في Rust، مثل الأعداد الصحيحة والعائمة والقيم المنطقية والمحارف، إلى جانب العوامل الشائعة. تتمرن على Learn Rust Coding مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ Learn Rust Coding؟
لا تُشترط خبرة سابقة. Learn Rust Coding على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 2 من أصل 3.
كم من الوقت يستغرق درس «أنواع البيانات البدائية والعوامل»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس Learn Rust Coding هذا؟
نعم. كل درس في Learn Rust Coding يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- المتغيرات وقابلية التغيير والتظليل
- أنواع البيانات البدائية والعوامل
- الدوال وتدفق التحكم