Rust学习笔记/数据类型

renyuneyun 2018年07月15日(周日) 1 mins

类似于绝大多数语言,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学习笔记/复合数据类型


您可以在Hypothesis上的該群組內進行評論,或使用下面的Disqus評論。