[Avg. reading time: 2 minutes]
Expression
In Rust, almost everything is an expression. An expression evaluates to a value.
A key rule to remember
- An expression without a semicolon returns a value
- Adding a semicolon turns it into a statement and discards the value
// Expressions and Semicolons fn main() { let x = 5u32; let y = { // intermediate expressions let x_squared = x * x; let x_cube = x_squared * x; // last expression, no semicolon // this value is assigned to y x_cube + x_squared + x }; let z = { // simple block expression 2 * x }; let zz = { // semicolon suppresses the value // this block evaluates to () 2 * x; }; println!("x is {:?}", x); println!("y is {:?}", y); println!("z is {:?}", z); println!("zz is {:?}", zz); }