Тип isize
Тип isize представляет собой знаковое целое число,
размер которого зависит от разрядности платформы: 32 бита
на 32-битных системах и 64 бита на 64-битных системах.
Этот тип удобно использовать для индексации, работы с длинами
коллекций и арифметики указателей, поскольку его размер
совпадает с размером адреса памяти.
Диапазон значений isize зависит от платформы.
На 64-битной системе он составляет от -9223372036854775808
до 9223372036854775807. На 32-битной системе -
от -2147483648 до 2147483647.
Синтаксис
let x: isize = 42;
Пример
Давайте объявим переменную типа isize и выведем её значение:
fn main()
{
let res: isize = 42;
println!("{}", res);
}
Результат выполнения кода:
42
Пример
Давайте узнаем размер типа isize в байтах
на текущей платформе:
fn main()
{
let res = std::mem::size_of::<isize>();
println!("{}", res);
}
Результат выполнения кода на 64-битной системе:
8
Пример
Давайте выполним арифметические операции с числами
типа isize:
fn main()
{
let a: isize = 10;
let b: isize = 3;
let res = a - b;
println!("{}", res);
}
Результат выполнения кода:
7
Пример
Давайте используем isize в качестве индекса
для доступа к элементу вектора:
fn main()
{
let arr = vec![1, 2, 3, 4, 5];
let index: isize = 2;
let res = arr[index as usize];
println!("{}", res);
}
Результат выполнения кода:
3