固定取值范圍的類型:
無符號整數:
- u8 數值為0 - 2⁸ -1 1個字節 u8 類型通常表示字節序列。在文件I/O或網絡I/O中讀取數據流時需要使用u8。
- u16 數值為0- 2¹⁶-1 2個字節
- u32 數值為0- 2³²-1 4個字節
- u64 數值為0- 2⁶⁴-1 8個字節
- u128 數值為0- 2¹²⁸-1 16個字節
符號整數:
- i8 數值為-2⁷ - 2⁷ -1 1個字節
- i16 數值為-2¹⁵- 2¹⁵-1 2個字節
- i32 數值為-2³¹- 2³¹-1 4個字節
- i64 數值為-2⁶³- 2⁶³-1 8個字節
- i128 數值為-2¹²⁷- 2¹²⁷-1 16個字節
動態取值范圍類型:
usize: 數字范圍 0 - 2³²-1 或 0 - 2⁶⁴-1 ,占用4個或8個字節,具體取決於機器的字長。
isize:數字范圍 -2³¹- 2³¹-1或 -2⁶³- 2⁶³-1,占用4個或8個字節,具體取決於機器的字長。
浮點數類型:
f32, 單精度32位浮點數,至少6位有效數字,數值范圍-3.4 X 10³⁸ - 3.4 X 10³⁸
f64, 雙精度64位浮點數,至少15位有效數字,數值范圍-1.8 X 10³⁰⁸ - 1.8 X 10³⁰⁸
數字字面量后面可以直接使用類型后綴,比如42u32,代表這是一個u32類型如果不加制定類型,Rust編譯器會默認推斷數字為i32類型
0x,0o和0b分別表示十六進制、八進制、二進制類型。
Rust中也可以寫字節字面量,比如b開頭的字符b'*',他實際等價於42u8
浮點數也可以家類型后綴,如果沒有默認浮點數為f64, std::f32和std::f64提供了IEEE所需的特殊常量值、比如INFINITY無窮大,NEG_INFINITY負無窮大,NAN非數字值,MIN最小有限值,MAX最大有限值