014 Rust死靈書之顯式型別轉換

linghuyichong發表於2021-03-07

本系列錄製的影片主要放在B站上Rust死靈書學習影片

Rust 死靈書相關的原始碼資料在github.com/anonymousGiga/Rustonomi...

  • 顯式型別轉換是強制型別轉換的超集,所有的強制型別轉換都可以透過顯式轉換的方式主動觸發。某些場景只適用於顯式型別轉換。
  • 顯式型別轉換的方式是使用關鍵字as,如:expr as Type。
  • 顯式型別轉換必須在型別層面是合法的,否則在編譯時會報錯。
  • 顯式型別轉換本身不屬於非安全行為。
  • 顯式型別轉換不可傳遞,例子:x as y as z合法,不代表x as z合法。
  • 其它注意事項。
fn print(x: &i32) { //傳入進入的時候會發生轉換   &mut i32 -> &i32
    println!("x = {}", x);
}

fn main() {
    let x: &mut i32 = &mut 10;
    print(x);
    print(x as &i32);  //轉換也可以透過顯式的方式主動觸發

    let a: i8 = 1;
    let b: i32 = a as i32;
    println!("b = {}", b);
    println!("Hello, world!");
}
本作品採用《CC 協議》,轉載必須註明作者和本文連結
令狐一衝

相關文章