类似于绝大多数语言,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評論。