類似於絕大多數語言,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評論。