Давайте рассмотрим различные типы данных в 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); }
Логические значения в 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.
Давайте обсудим строки в следующем разделе.