Rust 程序设计语言 简体中文版 1.85.0在餐饮业,餐馆中会有一些地方被称之为前台(front of house),还有另外一些地方被称之为 后台(back of house)。前台是招待顾客的地方;这包括接待员为顾客安排座位、服务员接受 点单和付款、调酒师制作饮品的地方。后台则是厨师和烹饪人员在厨房工作、洗碗工清理餐 具,以及经理处理行政事务的区域。 为了以这种方式构建我们的 crate,我们可以将其功能组织到嵌套模块中。通过执行 cargo 之后,因为它们只是相对于方法本身的。 泛型代码的性能 你可能会好奇使用泛型类型参数是否会有运行时消耗。好消息是泛型并不会使程序比具体类型 运行得慢。 Rust 通过在编译时进行泛型代码的单态化(monomorphization)来保证效率。单态化是一个 通过填充编译时使用的具体类型,将通用代码转换为特定代码的过程。 在这个过程中,编译器所做的工作正好与示例 10-5 中我们创建泛型函数的步骤相反。编译器 寻找 Some(5.0); 当 Rust 编译这些代码的时候,它会进行单态化。编译器会读取传递给 Option的值并发现 有两种 Option :一个对应 i32 另一个对应 f64。为此,它会将泛型定义 Option 展开为 两个针对 i32 和 f64 的定义,接着将泛型定义替换为这两个具体的定义。 编译器生成的单态化版本的代码看起来像这样(编译器会使用不同于如下假想的名字): 0 码力 | 562 页 | 3.23 MB | 26 天前3
共 1 条
- 1













