Программы на языке Rust - это (в основном) набор последовательных операторов:
fn main() {
// оператор
// оператор
// оператор
}
Существует несколько типов операторов в Rust. Наиболее распространенные - оператор связывания и оператор выражения:
fn main() {
// оператор связывания
let x = 5;
// оператор выражения
x;
x + 1;
15;
}
Блоки так же могут быть частью оператора выражения. Они используются в качестве [r-values][r-значения] при присваивание. Последнее выражение в блоке будет присвоено [l-value][l-значению]. Однако, если последнее выражение в блоке оканчивается точкой с запятой, в качестве значения будет возвращено ().
fn main() {
let x = 5u32;
let y = {
let x_squared = x * x;
let x_cube = x_squared * x;
// Результат этого выражение будет присвоен переменной `y`
x_cube + x_squared + x
};
let z = {
// Т.к это выражение оканчивается на `;`, переменной `z` будет присвоен `()`
2 * x;
};
println!("x is {:?}", x);
println!("y is {:?}", y);
println!("z is {:?}", z);
}