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.