AnyCompiler

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);
}
Output
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);
}
Output
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.