字面量
数字字面值可以通过添加类型后缀进行类型标注。例如,要指定字面值 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!("`x` 的字节大小:{}", std::mem::size_of_val(&x));
println!("`y` 的字节大小:{}", std::mem::size_of_val(&y));
println!("`z` 的字节大小:{}", std::mem::size_of_val(&z));
println!("`i` 的字节大小:{}", std::mem::size_of_val(&i));
println!("`f` 的字节大小:{}", std::mem::size_of_val(&f));
}
前面的代码中使用了一些尚未解释的概念。为了满足迫不及待的读者,这里简要说明如下: