Літерали
Числові літерали можна анотувати типом, додавши тип як суфікс. Наприклад,
щоб вказати, що літерал 42 має мати тип i32, напишіть 42i32.
Тип несуфіксованих числових літералів залежатиме від того, як їх використовують. Якщо
немає жодного обмеження, компілятор використовуватиме i32 для цілих чисел і f64 для
чисел із плаваючою комою.
fn main() {
// Суфіксовані літерали, їхні типи відомі під час ініціалізації
let x = 1u8;
let y = 2u32;
let z = 3f32;
// Несуфіксовані літерали, їхні типи залежать від того, як їх використовують
let i = 1;
let f = 1.0;
// `size_of_val` повертає розмір змінної в байтах
println!("size of `x` in bytes: {}", std::mem::size_of_val(&x));
println!("size of `y` in bytes: {}", std::mem::size_of_val(&y));
println!("size of `z` in bytes: {}", std::mem::size_of_val(&z));
println!("size of `i` in bytes: {}", std::mem::size_of_val(&i));
println!("size of `f` in bytes: {}", std::mem::size_of_val(&f));
}
У попередньому коді використано кілька понять, які ще не було пояснено далі, ось коротке пояснення для нетерплячих читачів: