Rust原始數據類型
官方手冊:https://doc.rust-lang.org/beta/std/index.html#primitives。
理解什麼是原始數據類型(primitive type)
有些數據就是簡簡單單的,比如數字3,它就是一個數值3,編譯器或解釋器不需要任何其他信息來識別它,只要看到3就知道它是一個數值類型。
但是有些數據類型稍微複雜一點,除了要存儲數據本身之外,編譯器或解釋器還需要再多保存一點關於該數據的元數據信息。比如數組類型,除了存儲數組中各元素數據之外,還需要額外存儲數組的長度信息,這樣編譯器或解釋器才知道數組到哪裡結束,這裡數組的長度就是數組類型的元數據。
所謂原始數據類型,就是該類型的數據只需要數據本身即可,沒有額外元數據。
Rust有很多種原始數據類型(primitive type),這些原始數據類型都是Rust內置的類型(在核心庫core中定義而非標準庫std中定義的類型)。包括數據大小固定的機器類型(Machine Type)、某些組合類型和其他一些Rust語言必要的內置類型。
包括:
- 機器類型(大小是固定的)
- bool
- u8、u16、u32、u64、u128、usize
- i8、i16、i32、i64、i128、isize
- f32、f64
- char
- 組合類型
- Tuple
- Array
- 其他語言必要類型
- Slice,即切片類型
- str,即字符串切片類型
- !,即never類型
- (),即Unit類型
- reference,即引用類型
- pointer,即裸指針類型
- fn,即函數指針類型
本章會介紹其中一些原始數據類型,還會額外簡單地介紹一個非原始數據類型:String類型。