Rust — это статически типизированный язык программирования, предоставляющий богатый набор примитивных типов данных. Понимание этих типов данных имеет решающее значение для написания эффективного и безопасного кода. В этой статье мы рассмотрим различные примитивные типы данных в Rust, а также примеры кода и методы для работы с ними.
- Целые типы:
Rust предоставляет ряд целочисленных типов, включая целые числа со знаком и без знака разных размеров:i8
,i16
,i32
,i64
,i128
– целые числа со знакомu8
,u16
,u32
,u64
,u128
– целые числа без знака
Пример:
let x: i32 = 42; // signed 32-bit integer
let y: u8 = 255; // unsigned 8-bit integer
Методы:
wrapping_add()
: добавляет два целых числа с переносом при переполнении.saturating_add()
: добавляет два целых числа, насыщая максимальное значение при переполнении.overflowing_add()
: добавляет два целых числа, возвращая кортеж с результатом и логическое значение, указывающее на переполнение.checked_add()
: добавляет два целых числа, возвращаяSome(result)
, если нет переполнения, илиNone
в противном случае.
- Типы с плавающей запятой:
Rust поддерживает два типа с плавающей запятой:f32
: 32-битное число с плавающей запятой (одинарной точности).f64
: 64-битное число с плавающей запятой (двойной точности)
Пример:
let pi: f64 = 3.14159; // double precision floating-point number
let e: f32 = 2.71828; // single precision floating-point number
Методы:
ceil()
: округляет число с плавающей запятой до ближайшего целого числа.floor()
: округляет число с плавающей запятой до ближайшего целого числа.round()
: округляет число с плавающей запятой до ближайшего целого числа.sqrt()
: вычисляет квадратный корень числа с плавающей запятой.
- Логический тип:
Булевый тип в Rust представляет логические значения:true
илиfalse
.
Пример:
let is_rust_awesome: bool = true;
let is_openai_assistant: bool = false;
Методы:
not()
: отрицает логическое значение.and()
: выполняет логическую операцию И между двумя логическими значениями.or()
: выполняет логическую операцию ИЛИ между двумя логическими значениями.
- Тип символа:
Типchar
в Rust представляет скалярное значение Юникода и обозначается одинарными кавычками.
Пример:
let heart_emoji: char = '❤';
let smiley_emoji: char = '????';
Методы:
is_alphabetic()
: проверяет, является ли символ алфавитом.is_numeric()
: проверяет, является ли символ числовой цифрой.to_lowercase()
: преобразует символ в нижний регистр.to_uppercase()
: преобразует символ в верхний регистр.
Понимание примитивных типов данных в Rust необходимо для эффективного программирования. В этой статье мы рассмотрели целочисленные типы, типы с плавающей запятой, логические типы и символьные типы в Rust, а также примеры кода и методы, связанные с каждым типом. Используя эти типы данных и соответствующие им методы, вы можете писать эффективный и надежный код Rust.