Basic Types
Rust ke core scalar types hain integers (i32, u32, i64, aur bit-width aur signedness ke hisaab se sized doosre types), floating-point numbers (default tor par f64, f32 bhi available hai), bool, aur char. Har variable ka ek type hota hai, jo compile time par pata hota hai, chahe aap use explicitly likhein ya nahi.
fn main() {
let age: i32 = 30;
let price: f64 = 19.99;
let is_student: bool = false;
let grade: char = 'A';
println!("{} {} {} {}", age, price, is_student, grade);
}30 19.99 false A
Type inference
Aapko shayad hi kabhi har variable ko annotate karne ki zaroorat parti hai — Rust value se aur woh kaise istemal ho raha hai us se ek type infer kar leta hai, aur phir bhi use bilkul waise hi enforce karta hai jaise aapne khud annotation likhi ho. Neeche count ko i32 (Rust ka default integer type) aur pi ko f64 (iska default float type) ke tor par infer kiya gaya hai.
fn main() {
let count = 42; // inferred as i32
let pi = 3.14159; // inferred as f64
println!("{} {}", count, pi);
}42 3.14159
Aage: ownership — woh rule jo Rust ki memory safety ko mumkin banata hai, aur jiska Python, JavaScript, ya TypeScript mein koi real equivalent nahi hai.
Practice Exercise
Ek variable temperature: f64 = 72.5 aur ek variable is_sunny: bool = true declare karein. Dono ko saath mein println!("{} {}", temperature, is_sunny) se print karein.