Выражения
Программы на языке Rust - это (в основном) набор последовательных операторов:
fn main() {
// оператор
// оператор
// оператор
}
Существует несколько типов операторов в Rust.
Наиболее распространённые - оператор связывания и выражение, заканчивающееся ;
:
fn main() {
// оператор связывания
let x = 5;
// оператор выражения
x;
x + 1;
15;
}
Блоки так же могут быть частью оператора выражения.
Они используются в качестве r-values при присваивании.
Последнее выражение в блоке будет присвоено l-value.
Однако, если последнее выражение в блоке оканчивается точкой с запятой,
в качестве значения будет возвращено ()
.
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 равен {:?}", x); println!("y равен {:?}", y); println!("z равен {:?}", z); }