類似於絕大多數語言,Rust核心部分提供的數據類型包含整型、實型(浮點數)等常規類型,同時也提供字符串類型。
標量/單量類型
整數與浮點數
i8 是8位(有符號)整型, i32 是32位整型; u32 是32位無符號整型; f32 是32位實型(浮點數)。 其具體大小均包括8、16、32、64這四種。 額外地,對於整數,另有 isize 和 usize 兩種,代表“取決於機器的大小”。
對於整數,Rust也支持許多其他“單位”的轉換:二進制、八進制、十六進制、以_分段的十進制。 額外地,對於 u8 ,Rust支持直接賦予ASCII對應值(如 b'A' )。例子及更多解釋見 官方教程整數類型部分 。
算數運算符和其他C家族的一致,不再贅述。
字符類型
一個字符類型( char )的變量表示一個Unicode Scalar Value(基本可以理解爲一個Unicode字符)。
Rust區分字符和字符串,(同多數語言一樣)其字面量分別使用單引號和雙引號。
字符串
Rust中的字符串分爲 str 和 String 兩種。其區別是由於Rust目的(作爲系統編程語言,取代C): str 在 棧 上分配,而 String 在 堆 上分配(該類型更像是指針/引用)。
另外, str 不可變,而 String (在其 mut 時)可變。
使用 "abcd" 創建的是 str ,但兩者之間可以轉換: str.to_string() 和 String.as_str() 。後文會更詳細介紹。
Forward links:
Backward links:
您可以在Hypothesis上的該群組內進行評論,或使用下面的Disqus評論。