今天,我們將深入探討Rust語言中的數據類型,這是理解和掌握Rust的基礎。
Rust語言數據類型概覽
Rust是靜態類型語言,所有變量類型在編譯時確定。Rust的數據類型分為兩類:標量類型和復合類型。
標量類型
標量類型是單一值的類型,包括整型、浮點型、布爾型和字符型。
-
整型:Rust提供了多種整型,包括有符號(i8、i16、i32、i64、i128、isize)和無符號(u8、u16、u32、u64、u128、usize)。每種類型的數字表示其位數,例如, i32
是32位有符號整型。 -
浮點型:Rust有兩種浮點數類型: f32
和f64
,分別代表32位和64位的浮點數。f64
由于其精度更高,在默認情況下被廣泛使用。 -
布爾型:布爾類型 bool
表示邏輯值,有true
和false
兩種值。 -
字符型: char
類型代表單個Unicode字符,占用4個字節空間。
復合類型
-
元組(Tuple):元組是多種類型值的集合。元組一旦聲明,其長度不可變更。例如, let tup: (i32, f64, u8) = (500, 6.4, 1);
。 -
數組:數組是同一類型值的集合。與元組不同,數組的每個元素類型必須相同。例如, let a = [1, 2, 3, 4, 5];
。
數據類型的具體使用
整型詳解
i8
可以存儲-128到127之間的值,而u8
可以存儲0到255之間的值。如果超出這個范圍,將會導致溢出。浮點型詳解
f32
是單精度浮點型,f64
是雙精度浮點型。通常情況下,f64
因為其更高的精度而被推薦使用。布爾型和字符型
類型轉換和類型推斷
as
關鍵字進行顯式類型轉換,特別是在不同數字類型之間轉換時。例如,將u32
轉換為i32
。數組和元組的使用
數組
let a = [1, 2, 3, 4, 5];
元組
(42, 3.14)
}