* **Сравнительные операторы**: `==`, `!=`, `>`, `<`, `>=` , `<=`. Эти операторы используются для сравнения значений и возвращают логический результат.
* **Логические операторы**: `&&`, `||`, `!`. Эти операторы используются для выполнения логических операций над булевыми значениями.
* **Битовые операторы**: `&`, `|`, `^`, `~`. Эти операторы используются для выполнения битовых операций над целыми числами.
Пример использования операторов:
```rust
let x = 5;
let y = 3;
let sum = x + y; // Арифметический оператор
let result = x > y; // Сравнительный оператор
let logical_result = result && true; // Логический оператор
```
**Управляющие конструкции**
Управляющие конструкции – это элементы языка, которые позволяют нам управлять потоком выполнения программы. В Rust существует несколько типов управляющих конструкций:
* **Условные операторы**: `if`, `else`, `match`. Эти операторы используются для выполнения определенных действий в зависимости от условия.
* **Циклы**: `loop`, `while`, `for`. Эти операторы используются для повторения определенных действий.
* **Функции**: `fn`. Эти операторы используются для определения функций, которые можно вызывать несколько раз.
Пример использования условного оператора:
```rust
let x = 5;
if x > 10 {
println!("x больше 10");
} else {
println!("x меньше или равно 10");
}
```
Пример использования цикла:
```rust
let mut i = 0;
loop {
println!("i = {}", i);
i += 1;
if i >= 5 {
break;
}
}
```
В этой главе мы познакомились с операторами и управляющими конструкциями в языке Rust. Эти элементы являются фундаментальными для любого языка программирования и позволяют нам создавать сложные алгоритмы и управлять потоком выполнения программы. В следующей главе мы познакомимся с функциями и модулями в Rust.
2.3. Функции и модули
В предыдущих главах мы познакомились с основными концепциями языка Rust, такими как переменные, типы данных и операторы. Теперь пришло время поговорить о функциях и модулях, которые являются важными строительными блоками любого программного обеспечения.
**Функции**
Функция – это блок кода, который выполняет определённую задачу и может быть вызван несколько раз из разных частей программы. Функции позволяют нам разбить наш код на более мелкие, управляемые части, что делает его более читабельным и поддерживаемым.
В Rust функции определяются с помощью ключевого слова `fn`. Например: