容器与集合类型

标准项 说明
Vec 在堆上分配,运行期间可调整大小的 vector。
[T; n] 在编译时具有固定大小的内联数组。
[T] 一个动态大小的切片,它可以被分配到任何不同类型的连续存储中,不管是不是在堆上堆分配。

切片只能通过某种类型的指针来处理,因此有很多类型,例如:

标准项 说明
&[T] 切片引用
&mut [T] 可变切片
Box<[T]> 拥有的切片

基本类型

标准项 说明
array 一个固定大小的数组, 写作 [T; N],表示元素类型 T 和非负编译时常数大小 N。
bool 布尔类型。
char 字符类型。
f32 32 位浮点数。
f64 64 位浮点数。
fn 函数指针, 形如 fn(usize) -> bool
i8 8 位有符号整型。
i16 16 位有符号整型。
i32 32 位有符号整型。
i64 64 位有符号整型。
i128 128 位有符号整型。
isize 指针大小的有符号整数类型。
pointer 裸指针,不安全指针, _const T 和 _mut T.
reference 引用,包括共享的和可变的。
slice 连续序列的动态大小视图[T]。
str 字符串切片。
tuple 有限非均匀序列(元组), (T, U, ..)。
u8 8 位无符号整形。
u16 16 位无符号整型。
u32 32 位无符号整型。
u64 64 位无符号整型。
u128 128 位无符号整型。
unit () 类型,称作 “unit” 或者 “nil”.
usize 指针大小的无符号整数类型。
never [Experimental] ! 类型, 也称作 “never”.

模块

标准项 说明
alloc 内存分配API。
any 这个模块实现了Any trait,它通过运行时反射支持任何静态类型的动态类型。
arch SIMD 和 vendor 内部特性模块。
ascii ASCII 字符串与字符的相关操作符。
borrow 处理借用数据的模块。
boxed 在堆上分配的一种指针类型。
cell 可共享的可变容器。
char 字符类型。
clone 无法“隐式复制”类型的 clone trait。
cmp 排序和比较。
collections 集合类型。
convert 类型之间转换的特性。
default 可能有意义的默认值的类型的默认特性。
env 检查和操作当前进程的环境变量。
error 用于和错误打交道的特性。
f32 这个模块提供了 f32 浮点数类型特有的常量。
f64 这个模块提供了 f64 浮点数类型特有的常量。
ffi 与FFI绑定有关实用工具。
fmt 与格式化和打印字符串有关的实用工具。
fs 文件系统相关操作。
hash 泛化的HASH支持。
hint 提示编译器如何触发或者优化代码的影响。
i8 8位有符号整数类型。
i16 16位有符号整数类型。
i32 32位有符号整数类型。
i64 64位有符号整数类型。
i128 128位有符号整数类型。
io 基础 I/O 功能 包括 特性, 帮助类, 和一些相关类型定义。
isize 指针大小的有符号整数类型.
iter 提供能对集合进行外部迭代的特性和结构体。
marker 用于表示类型基本属性的基础特性,如 Copy。
mem 用于管理内存的基础函数。
net 提供 TCP/UDP 基础通信能力的模块。
num 额外用于数学计算的类型。
ops 可重载的操作符。
option 可选的值。
os 操作系统相关的基础功能。
panic 标准库中panic的支持模块。
path 跨平台的路径操作模块。
pin 用于固定变量到内存地址的模块。
prelude Rust默认引入的部分。
process 一个用于处理进程的模块。
ptr 通过裸指针管理内存。
rc 在单线程中进行引用计数的指针类型。 ‘Rc’ 表示 ‘Reference Counted’。
result 提供在错误处理中使用Result类型的能力。
slice 访问连续序列的一种视图, 可以使用泛型[T].
str Unicode 编码的字符切片。
string UTF-8编码可持续增长的字符串
sync 一些有用的进行同步的基础功能。
thread 系统原生线程管理。
time 时间计量工具。
u8 8位无符号整数类型。
u16 16位无符号整数类型。
u32 32位无符号整数类型。
u64 64位无符号整数类型。
u128 128位无符号整数类型。
usize 指针大小的无符号整数类型.
vec 一种在堆上分配空间存储数据的,可持续增长的数组类型, 形如 Vec。
future [实验性] 一些异步变量.
intrinsics [实验性] rustc 编译器 内联函数.
raw [实验性] 包含一些用于定义编译器内建类型的结构体定义。
task [实验性]用于处理异步任务的一些类型和特性。

标准项 说明
assert 该宏确保布尔表达式在运行期始终为true。
assert_eq 该宏判断两个表达式求值后是否相等 (使用 PartialEq 特性)。
assert_ne 该宏判断两个表达式求值后是否不相等 (使用 PartialEq 特性)。
cfg 在编译时期,该宏将配置标记进行布尔表达式求值的宏。
column 该宏返回当前程序所在的代码行号。
compile_error 该宏可以在编译时,无条件的导致一个编译错误,并报告其所携带的错误信息。
concat 该宏将多个字面量值链接成为一个静态的字符串切片。
dbg 一个用于快速debug,方便检查一个表达式值的宏。
debug_assert 该宏确保布尔表达式在运行期始终为true。
debug_assert_eq 该宏判断两个表达式求值后是否相等。
debug_assert_ne 该宏判断两个表达式求值后是否不相等。
env 该宏在编译期检查并返回一个环境变量值。
eprint 使用此宏可以在标准错误输出中打印信息。
eprintln 使用此宏可以在标准错误输出中打印信息,并在末尾加上 \newline
file 该宏可以返回当前执行函数所在的文件的文件名。
format 该宏使用运行期插入的表达式返回一个字符串。
format_args 该宏用于创建或者输出一个格式化后的字符串。
include 该宏将一个文件的内容解析并引入到当前的运行上下文中。
include_bytes 以byte数组的方式对文件进行解析,并实现include。
include_str 以UTF-8编码字符串的方式对文件进行解析,并实现include。
is_x86_feature_detected 该宏用于测试一个cpu 特性是否可以用于 x86/x86-64 指令集平台。
line which 该宏可以返回当前执行程序所在的代码行的行号。
module_path 该宏返回当前文件所在的模块路径。
option_env 该宏在编译期,检查一个宏,并返回使用 Option 类型包装的环境变量值。
panic 该宏可以在一个Rust线程内引起线程恐慌。
print 该宏用于将内容打印到标准输出中。
println 该宏用于将内容打印到标准输出中,并在末尾加上 \newline
stringify 该宏可以将他的参数字符串化后返回。
thread_local 声明一个新的 std::thread::LocalKey 类型变量。
try 一个用于减少在匹配 Result 类型或当发生向下转型错误时的样板代码的工具宏。
unimplemented 标记未完成代码的占位宏。
unreachable 表明不可达代码的通用宏。
vec 使用参数构建Vec的宏。
write 使用该宏可以将格式化的数据写入一个buffer中。
writeln 使用该宏可以将格式化的数据写入到一个buffer中,并在末尾加上 \newline
await [实验性] 一个用于等待异步调用返回的宏。
concat_idents [实验性] 该宏将多个标识符链接成为一个标识符号。
is_aarch64_feature_detected [实验性] 在编译目标平台仅为 aarch64 时,被这个宏修饰的代码会被阻止编译。
is_arm_feature_detected [实验性] 在编译目标平台仅为 ARM 时,被这个宏修饰的代码会被阻止编译。
is_mips64_feature_detected [实验性] 在编译目标平台仅为 MIPS64 时,被这个宏修饰的代码会被阻止编译。.
is_mips_feature_detected [实验性] 在编译目标平台仅为 MIPS 时,被这个宏修饰的代码会被阻止编译。
is_powerpc64_feature_detected [实验性] 在编译目标平台仅为 PowerPC64 时,被这个宏修饰的代码会被阻止编译。
is_powerpc_feature_detected [实验性] 在编译目标平台仅为 PowerPC 时,被这个宏修饰的代码会被阻止编译
select [废弃的] [实验性] 该宏用于在一系列事件接受者中选取一个处理当前时间。

关键字

标准项 说明
as 用于将一个值转换为类型的关键字。
const 用于定义常量。
crate 用于代码库的关键字。
enum 用于定义枚举。
extern 用于外部模块导入。
fn 用于定义函数。
for for关键字。
if if语句定义关键字。
impl 定义特性实现的关键字。
let 实现变量绑定的关键字。
loop 用于定义循环的关键字。
struct 用于定义结构体的关键字。