Константа MIN
Константа MIN класса i32 хранит наименьшее значение,
которое способен вместить тип i32. Это значение равно
-2147483648. Константа доступна через обращение
i32::MIN и не принимает никаких параметров. Её удобно
использовать для проверки границ диапазона, инициализации
переменных и в алгоритмах, где требуется стартовое минимальное
значение.
Синтаксис
i32::MIN
Пример
Давайте выведем значение константы i32::MIN на экран:
fn main()
{
let res = i32::MIN;
println!("{}", res);
}
Результат выполнения кода:
-2147483648
Пример
Давайте сравним значение i32::MIN с числом, которое
на единицу меньше:
fn main()
{
let res = i32::MIN - 1;
println!("{}", res);
}
Результат выполнения кода:
2147483647
Как видите, при выходе за нижнюю границу диапазона происходит переполнение и значение «заворачивается» к максимуму.
Пример
Давайте найдём минимальное значение среди чисел с помощью
константы i32::MIN в качестве начального значения:
fn main()
{
let nums = vec![5, -3, 12, -40, 7];
let mut res = i32::MIN;
for n in nums
{
if n > res
{
res = n;
}
}
println!("{}", res);
}
Результат выполнения кода:
12