Программы на языке 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); }