Beginner Fundamentals
Data Types
Rust is statically typed: every value has a type known at compile time. The most basic types are the scalar types, which hold a single value.
Integers
Integers come in signed (i) and unsigned (u) variants with different sizes, like i32, u8, or i64.
fn main() {
let a: i32 = -42;
let b: u8 = 255;
println!("{} {}", a, b);
}
Floats and booleans
Floating-point numbers are f32 or f64. Booleans hold true or false.
fn main() {
let pi: f64 = 3.14159;
let is_active: bool = true;
println!("{} {}", pi, is_active);
}
Characters
A char holds a single Unicode character, written with single quotes.
fn main() {
let letter: char = 'R';
let emoji: char = '🦀';
println!("{} {}", letter, emoji);
}
Tuples
A tuple groups several values of possibly different types. Access fields by index.
fn main() {
let point: (i32, i32, char) = (10, 20, 'P');
println!("x = {}, y = {}", point.0, point.1);
let (x, y, label) = point; // destructuring
println!("{} {} {}", x, y, label);
}