This article is part of the Rust學習筆記 series.

類似於絕大多數語言,Rust核心部分提供的數據類型包含整型、實型(浮點數)等常規類型,同時也提供字符串類型。

標量/單量類型

整數與浮點數

i8 是8位(有符號)整型, i32 是32位整型; u32 是32位無符號整型; f32 是32位實型(浮點數)。 其具體大小均包括8、16、32、64這四種。 額外地,對於整數,另有 isizeusize 兩種,代表“取決於機器的大小”。

對於整數,Rust也支持許多其他“單位”的轉換:二進制、八進制、十六進制、以_分段的十進制。 額外地,對於 u8 ,Rust支持直接賦予ASCII對應值(如 b'A' )。例子及更多解釋見 官方教程整數類型部分

算數運算符和其他C家族的一致,不再贅述。

布爾類型

布爾是單獨的類型( bool ),其值爲 truefalse

不同於C等語言,Rust不認爲 0false1true

字符類型

一個字符類型( char )的變量表示一個Unicode Scalar Value(基本可以理解爲一個Unicode字符)。

Rust區分字符和字符串,(同多數語言一樣)其字面量分別使用單引號和雙引號。

字符串

Rust中的字符串分爲 strString 兩種。其區別是由於Rust目的(作爲系統編程語言,取代C): str 上分配,而 String 上分配(該類型更像是指針/引用)。

另外, str 不可變,而 String (在其 mut 時)可變。

使用 "abcd" 創建的是 str ,但兩者之間可以轉換: str.to_string()String.as_str() 。後文會更詳細介紹。

複合數據類型

Rust提供元組和數組兩種複合數據類型。

這兩者對快速入門幫助不大,但有興趣者可以閱讀 Rust學習筆記/複合數據類型

Renyuneyun

Arch Linux用戶;閒暇時爲FLOSS做做貢獻;認同自由軟件理念。自認唯物論者;反對任意形式的迷信;在意社會問題;拒絕先入爲主。

Renyuneyun

Join the discussion