机箱标准

1.0.0·来源·
展开描述

§Rust标准库

Rust标准库是便携式Rust软件的基础用于更广泛的锈蚀生态系统。它提供了核心类型,如Vec<T>选项<T>,库定义语言操作基本体标准宏输入/输出多线程处理,其中还有很多其他事情.

标准默认情况下,适用于所有防锈板条箱。因此可以在中访问标准库使用语句通过路径标准,如使用std::env.

§如何阅读本文档

如果你已经知道你要找的东西的名字发现它是使用搜索酒吧在页面顶部。

否则,您可能想跳转到以下有用的部分之一:

如果这是您第一次使用,那么标准库的文档是写给随便阅读的人。点击有趣的东西应该通常会带你去有趣的地方。不过,还有一些重要的方面你不想错过,所以请继续阅读,了解标准库和它的文档!

一旦您熟悉了标准库的内容,您就可以开始发现散文的冗长使人分心。在你的这个阶段您可能希望按[-]按钮靠近顶部页面将其折叠成更容易浏览的视图。

当你在看的时候[-]按钮还注意到来源链接。Rust的API文档随源代码提供鼓励阅读。标准库源通常较高窗帘背后的品质和一瞥往往会给人以启发。

§标准库文档中有什么?

首先,Rust Standard Library分为多个重点模块,本页下方列出的所有内容。这些模块是所有铁锈都是在基岩上铸造的,它们有着强大的名字喜欢标准::切片标准::cmp模块文档通常包括模块概述和示例开始熟悉图书馆的地方。

第二,上的隐式方法基元类型在此处记录。这个可以造成混淆的原因有两个:

  1. 当基本体由编译器实现时,标准库直接在基元类型上实现方法(它是这样做的库),这些是记录在关于基本体.
  2. 标准库导出许多模块与同名基元类型。这些定义了与基元相关的其他项类型,但不是最重要的方法。

例如,有一个基元类型的页面i32型列出了可以调用的所有方法32位整数(非常有用),并且有一个模块页面标准::i32记录常量值的最小值马克斯(很少有用)。

注意基元的文档字符串【T】(同时称为“slice”)。许多方法调用字符串Vec<T>实际上是调用上的方法字符串【T】分别通过放弃强制转换.

第三,标准库定义铁锈前奏曲,一个小集合导入每个模块的项目(主要是特性)机箱。前奏曲中的特点无处不在,构成了前奏曲文档是了解图书馆的一个很好的切入点。

最后,标准库导出了许多标准宏在此页面上列出(技术上,并非所有标准宏由标准库定义-有些宏由编译器-但它们在这里的文档是一样的)。就像前奏曲一样默认情况下,标准宏会导入到所有板条箱中。

§对文档进行修改

查看锈蚀贡献指南在这里.此文档的来源可以在上找到GitHub公司.要做出改变,请确保先阅读指南,然后提交请求您提出更改建议。

感谢您的贡献!如果您看到文档的一部分改进,提交PR,或先在上与我们聊天不和谐#文档。

§参观锈蚀标准图书馆

此板条箱文档的其余部分致力于指出值得注意的Rust Standard Library的功能。

§容器和集合

这个选项结果模块定义可选和错误处理类型,选项<T>结果<T,E>. Theiter公司模块定义Rust的迭代器特性,迭代器,它与对于循环到访问集合。

标准库公开了三种处理连续内存区域:

  • Vec<T>-堆已分配矢量可以在运行时调整大小。
  • [T;N]-内联阵列在编译时具有固定大小。
  • 【T】-A动态调整大小到任何其他类型的连续存储,无论是否分配了堆。

切片只能通过某种指针,就这样来了多种口味,如:

  • &【T】-共享切片
  • &mut(吨)-可变切片
  • 方框<[T]>-拥有的部分

字符串是一个UTF-8字符串切片,是一个基元类型和标准库定义了许多方法。Rust字符串s通常被访问为不可变引用:&字符串.使用拥有的字符串用于建筑和可变字符串。

要转换为字符串,请使用格式!宏,和用于转换字符串使用来自Str特质。

可以通过将数据放在参考编号框中或卢比类型,如果进一步包含在单元格参考单元格,可能发生突变以及共享。同样,在并发设置中,通常将原子参考计数箱,,带有Mutex公司得到同样的效果。

这个收藏模块定义地图、集合、链接列表和其他典型的集合类型,包括常见的哈希映射<K,V>.

§平台抽象和I/O

除了基本数据类型外,标准库主要涉及抽象公共平台的差异,尤其是Windows和Unix衍生产品。

常见类型的I/O,包括文件夹传输控制协议、和UDP协议,在中定义这个国际组织英尺、和模块。

这个线模块包含Rust的线程抽象。同步包含其他基元共享内存类型,包括原子的最大功率开关,其中包含消息传递的通道类型。

§前后使用main()

标准库的许多部分预计将在之前和之后工作main();但这并没有得到测试的保证或保证。建议您编写自己的测试并在您希望支持的每个平台上运行它们。这意味着使用标准main之前/之后,尤其是与OS或全局状态不受稳定性和可移植性保证的约束尽力提供。尽管如此,我们仍对错误报告表示赞赏。

另一方面核心分配最有可能在这样的环境中与警告:任何可挂接的行为,如panic、oom处理或分配器也会取决于挂钩的兼容性。

一些功能在main外部也可能会有不同的行为,例如stdio可能会无缓冲,一些恐慌可能会变成中止,回溯可能不会得到象征或类似的东西。

已知限制的非穷尽列表:

基本体类型§

  • 固定大小的数组,表示为【T;N】,对于元素类型,T型、和非负编译时间常量大小,N个.
  • 布尔类型。
  • 一种字符类型。
  • 32位浮点类型(具体来说,IEEE 754-2008中定义的“二进制32”类型)。
  • 64位浮点类型(具体而言,IEEE 754-2008中定义的“二进制64”类型)。
  • 函数指针,如fn(使用)->bool.
  • 8位有符号整数类型。
  • 16位有符号整数类型。
  • 32位有符号整数类型。
  • 64位有符号整数类型。
  • 128位有符号整数类型。
  • 指针大小的有符号整数类型。
  • 原始的、不安全的指针,*常数T、和*多吨.
  • 参考文献,&T型&多吨.
  • 一个动态大小的连续序列视图,【T】.此处相邻意味着元素的布局使每个元素都相同与邻居保持距离。
  • 字符串切片。
  • 一个有限的异质序列,(T、U…).
  • 8位无符号整数类型。
  • 16位无符号整数类型。
  • 32位无符号整数类型。
  • 64位无符号整数类型。
  • 128位无符号整数类型。
  • 这个()类型,也称为“单元”。
  • 指针大小的无符号整数类型。
  • 第16页实验
    16位浮点类型(具体来说,IEEE 754-2008中定义的“二进制16”类型)。
  • 第128页实验
    128位浮点类型(具体而言,IEEE 754-2008中定义的“二进制128”类型)。
  • 从未实验
    这个类型,也称为“从不”。

模块§

§

关键词§