Rust类型转换 - 字面量

数字文本可以通过添加类型作为后缀注释类型, 目前除了 usize 使用 usize 后缀,以及 isize 使用 isize 作为后缀。

后缀的数字文字类型将取决于如何使用它们。如果没有约束存在,编译器将使用 i32 为整数,  f64 作为浮点数。

fn main() {
    // Suffixed literals, their types are known at initialization
    let x = 1u8;
    let y = 2u32;
    let z = 3f32;

    // Unsuffixed literal, their types depend on how they are used
    let i = 1;
    let f = 1.0;

    // `size_of_val` returns the size of a variable in bytes
    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));
}

有在前面的代码中使用一些概念,但没有解释,这里有一个简单的解释:

  • fun(&foo) 是用来引用参数传递给函数, 而不是通过 (fun(foo).
  • std::mem::size_of_val 是一个函数,调用它的完整路径。代码可以分成称为模块的逻辑单元。在这种情况下,该 size_of_val 函数是在所定义的 mem 模块, 并且 mem 模块是定义在 std 包装箱中

联系我们

邮箱 626512443@qq.com
电话 18611320371(微信)
QQ群 235681453

Copyright © 2015-2022

备案号:京ICP备15003423号-3