純量型別

類型常值
帶號整數i8i16i32i64i128isize-1001_000123_i64
非帶號整數u8u16u32u64u128usize012310_u16
浮點數f32f643.14-10.0e202_f32
字串 (String)&str"foo""two\nlines"
萬國碼純量值char'a''α''∞'
布林值booltruefalse

型別的寬度如下:

  • iNuNfN 的寬度為 N 位元
  • isizeusize 等同於指標的寬度
  • char 寬度為 32 位元
  • bool 寬度為 8 位元

除此之外,還有一些其他語法:

  • 原形字串可讓您建立停用逸出功能的 &str 值:r"\n" == "\\n"。只要在引號兩側使用等量的 #,即可嵌入雙引號:

    fn main() {
        println!(r#"<a href="link.html">link</a>"#);
        println!("<a href=\"link.html\">link</a>");
    }
  • 位元組字串可讓您直接建立 &[u8] 值:

    fn main() {
        println!("{:?}", b"abc");
        println!("{:?}", &[97, 98, 99]);
    }
  • 數字中的底線全都可以省略,寫出來只是為了方便閱讀。換句話說,1_000 可以寫成 1000 (或 10_00),而 123_i64 則可寫成 123i64