容器与集合类型
Vec<T>- 在堆上分配,运行期间可调整大小的 vector。[T; n]- 在编译时具有固定大小的内联数组。[T]- 一个动态大小的切片,它可以被分配到任何不同类型的连续存储中,不管是不是在堆上堆分配。
切片只能通过某种类型的指针来处理,因此有很多类型,例如:
&[T]- 切片引用&mut [T]- 可变切片Box<[T]>- 拥有的切片
基本类型
array一个固定大小的数组, 写作 [T; N],表示元素类型 T 和非负编译时常数大小 N。bool布尔类型。char字符类型。f3232 位浮点数。f6464 位浮点数。fn函数指针, 形如fn(usize) -> bool。i88 位有符号整型。i1616 位有符号整型。i3232 位有符号整型。i6464 位有符号整型。i128128 位有符号整型。isize指针大小的有符号整数类型。pointer裸指针,不安全指针, _const T 和 _mut T.reference引用,包括共享的和可变的。slice连续序列的动态大小视图[T]。str字符串切片。tuple有限非均匀序列(元组), (T, U, ..)。u88 位无符号整形。u1616 位无符号整型。u3232 位无符号整型。u6464 位无符号整型。u128128 位无符号整型。unit() 类型,称作 “unit” 或者 “nil”.usize指针大小的无符号整数类型。never[Experimental]!类型, 也称作 “never”.
模块
alloc内存分配API。any这个模块实现了Any trait,它通过运行时反射支持任何静态类型的动态类型。archSIMD 和 vendor 内部特性模块。asciiASCII 字符串与字符的相关操作符。borrow处理借用数据的模块。boxed在堆上分配的一种指针类型。cell可共享的可变容器。char字符类型。clone无法“隐式复制”类型的clonetrait。cmp排序和比较。collections集合类型。convert类型之间转换的特性。default可能有意义的默认值的类型的默认特性。env检查和操作当前进程的环境变量。error用于和错误打交道的特性。f32这个模块提供了f32浮点数类型特有的常量。f64这个模块提供了f64浮点数类型特有的常量。ffi与FFI绑定有关实用工具。fmt与格式化和打印字符串有关的实用工具。fs文件系统相关操作。hash泛化的HASH支持。hint提示编译器如何触发或者优化代码的影响。i88位有符号整数类型。i1616位有符号整数类型。i3232位有符号整数类型。i6464位有符号整数类型。i128128位有符号整数类型。io基础 I/O 功能 包括 特性, 帮助类, 和一些相关类型定义。isize指针大小的有符号整数类型.iter提供能对集合进行外部迭代的特性和结构体。marker用于表示类型基本属性的基础特性,如 Copy。mem用于管理内存的基础函数。net提供 TCP/UDP 基础通信能力的模块。num额外用于数学计算的类型。ops可重载的操作符。option可选的值。os操作系统相关的基础功能。panic标准库中panic的支持模块。path跨平台的路径操作模块。pin用于固定变量到内存地址的模块。preludeRust默认引入的部分。process一个用于处理进程的模块。ptr通过裸指针管理内存。rc在单线程中进行引用计数的指针类型。 ‘Rc’ 表示 ‘Reference Counted’。result提供在错误处理中使用Result类型的能力。slice访问连续序列的一种视图, 可以使用泛型[T].strUnicode 编码的字符切片。stringUTF-8编码可持续增长的字符串sync一些有用的进行同步的基础功能。thread系统原生线程管理。time时间计量工具。u88位无符号整数类型。u1616位无符号整数类型。u3232位无符号整数类型。u6464位无符号整数类型。u128128位无符号整数类型。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 指令集平台。linewhich 该宏可以返回当前执行程序所在的代码行的行号。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中,并在末尾加上\newlineawait[实验性] 一个用于等待异步调用返回的宏。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用于定义函数。forfor关键字。ifif语句定义关键字。impl定义特性实现的关键字。let实现变量绑定的关键字。loop用于定义循环的关键字。struct用于定义结构体的关键字。
