Давайте рассмотрим различные типы данных в rust.

Примечание. Пожалуйста, ознакомьтесь с предыдущим разделом руководства, чтобы понять переменные в rust.

Предыдущий раздел:https://medium.com/@manikandan96372/rust-for-beginners-part-3-variables-595f613bd91a

ЦЕЛОЕ ЧИСЛО

Целые числа в rust бывают шести типов по длине: 8-битные, 16-битные, 32-битные, 64-битные, 128-битные и арх. Они могут быть как знаковыми, так и беззнаковыми целыми числами, то есть вы можете назначать только положительные числа, используя беззнаковые целые числа, если вы хотите назначать как положительные, так и отрицательные целые числа, вы должны использовать целые числа со знаком.

i8, i16, i32, i64, i128, isize — это типы целых чисел со знаком.

u8, u16, u32, u64, u128, usize — это типы целых чисел без знака.

если вы присвоите переменной тип isize или usize, она автоматически рассмотрит архитектуру вашей системы (32-битная архитектура или 64-битная архитектура) и назначит соответствующие биты вашей переменной.

fn main() {
    let a: u8 = 1;
    println!("{}", a);
}

При выполнении приведенного выше кода вы получите следующий вывод:

1

Давайте попробуем присвоить разные значения приведенному выше примеру.

fn main() {
    let a: u8 = 1000;
    println!("{}", a);
}

Но на этот раз при выполнении выдаст следующую ошибку

Поскольку сообщение об ошибке ясно означает, что оно может вмещать числа только до 255, поскольку 8-битный целочисленный тип без знака может содержать только это, если вы попытаетесь назначить больше, вам, вероятно, следует увеличить переменный размер бит до u16 или u32 и так далее.

ПЛАВАЮЩАЯ

Типы с плавающей запятой в rust предназначены для обработки десятичных значений. Float имеет только два типа: f32 и f64. В типах с плавающей запятой у вас не может быть беззнаковых типов, по умолчанию все они подписаны. Если вы не назначите какой-либо тип значениям с плавающей запятой по умолчанию, он считает f64 своим типом.

fn main() {
    let a: f32 = 1.379;
    println!("{}", a);
}

BOOLEAN

Логические значения в rust предназначены для обработки значений true или false, которые будут использоваться в потоках управления rust.

fn main() {
    let a: bool = true;
}

ПЕРСОНАЖ

Тип символов в rust используется для обработки букв алфавита, алфавиты заключаются в одинарные кавычки.

fn main() {
    let a = 'z';
    println!("{}", a);
}

Это даст вам следующий результат

z

Но что произойдет, если вы попытаетесь добавить к нему больше символов?

fn main() {
    let a = 'zqwerty';
    println!("{}", a);
}

Это вызовет следующую ошибку

Вы можете назначать только один символ за раз, используя тип char.

КОРПУСЫ

Кортежи в rust используются для группировки различных типов значений. Например, если вам нужно сгруппировать целое число, значение с плавающей запятой и символ, вы можете хранить и получать к ним доступ из одного места, которое является кортежем.

fn main() {
    let a: (i8, f32, char) = (1, 2.765, 'a');
}

Вот как вы должны создать кортеж, указать соответствующие типы и значения, они должны быть заключены в круглые скобки.

Но как только вы присвоите значения переменной кортежа, вы не сможете добавить к ней дополнительные значения или удалить из нее существующее значение, оно фиксировано!

Вы можете получить доступ к отдельным значениям из кортежей, используя точку (.) вместе с ее индексом.

fn main() {
    let a: (i8, f32, char) = (1, 2.765, 'a');
    println!("{}", a.0);
}

Это даст следующий вывод

1

Индекс кортежей начинается с 0.

МАССИВ

Вы также можете группировать элементы в rust, используя массив. Но в отличие от кортежей массив может содержать значения одного типа, а не разных типов. Вы должны заключить значения в скобки []

fn main() {
    let a = [1, 2, 3, 4, 5];
}

Если вы хотите добавить типы в свой массив и количество значений, которые он может вместить, вы должны использовать следующий синтаксис

fn main() {
    let a: [i8; 5] = [1, 2, 3, 4, 5];
}

Вы можете получить доступ к отдельным элементам из вашего массива, используя их индекс

fn main() {
    let a: [i8; 5] = [1, 2, 3, 4, 5];
    println!("{}", a[0]);
}

Индекс массива начинается с 0.

Давайте обсудим строки в следующем разделе.