位置:首頁 > 高級語言 > Rust教學 > Rust類型轉換 - 字麵量

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 包裝箱中. 有關更多詳細信息,請參閱 modules 和 crates.