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類型。