Rust поддерживает все базовые арифметические операции. Арифметические операции производятся над числами, а именно над значениями,
которые представляют типы i8, i16, i32, i64, i128, isize, u8, u16, u32, u64, u128, usize, f32, f64
.
Рассмотрим бинарные арифметические операции:
+
Операция сложения возвращает сумму двух чисел:
let number = 12 + 6; // 18
-
Операция вычитания возвращает разность двух чисел:
let number = 12 - 6; // 6
*
Операция умножения возвращает произведение двух чисел:
let number = 12 * 6; // 72
/
Операция деления возвращает частное двух чисел:
let number = 12 / 6; // 2
Стоит отметить, что если оба операнда операции представляют целые числа, то при делении от дробного результата возвращается только целая часть:
let number = 29 / 6; // number = 4
%
Операция получения остатка от целочисленного деления:
let number = 15 % 6; // 3
Ряд операций сочетают арифметические операции и операцию присваивания (=):
+=
Присваивание после сложения. Присваивает левому операнду сумму левого и правого операндов: A += B эквивалентно A = A + B.
let mut number = 12; number += 6; // number = 18
-=
Присваивание после вычитания. Присваивает левому операнду разность левого и правого операндов: A -= B эквивалентно A = A - B.
let mut number = 12; number -= 6; // number = 6
*=
Присваивание после умножения. Присваивает левому операнду произведение левого и правого операндов: A *= B эквивалентно A = A * B
let mut number = 12; number *= 6; // number = 72
/=
Присваивание после деления. Присваивает левому операнду частное левого и правого операндов: A /= B эквивалентно A = A / B
let mut number = 12; number /= 6; // number = 2
%=
Присваивание после деления по модулю. Присваивает левому операнду остаток от целочисленного деления левого операнда на правый: A %= B эквивалентно A = A % B
let mut number = 15; number %= 6; // number = 3