Rust 程序设计语言 简体中文版 1.85.0产物:Cargo 只会使用你指定的依赖版本,除非你明确指定其他版本。例如,如果下周 rand crate 的 0.8.6 版本出来了,该版本包含了一个重要的 bug 修复,但同时也引入了一个会破坏 你代码的回归问题。为了解决这个问题,Rust 在你第一次运行 cargo build 时创建了 Cargo.lock 文件,我们现在可以在 guessing_game 目录找到它。 当第一次构建项目时,Cargo 的实现遵循了零开销原则:不使用的功能无需为其付出代价;而已经 使用的功能,也不可能通过手写代码做得更好。 作为另一个例子,以下代码取自一个音频解码器。解码算法使用线性预测数学运算(linear prediction mathematical operation)来根据之前样本的线性函数预测将来的值。这些代码 使用迭代器链对作用域中的三个变量进行某种数学计算:一个叫 buffer 的数据 slice、一个有 12 个元素的数组 让我们开始理解为何消息在全部延迟后立刻一起到达,而不是逐个在延迟后到达。在一个给定 的异步代码块,await 关键字在代码中出现的顺序也就是程序执行时其发生的顺序。 示例 17-10 中只有一个异步代码块,所以所有的代码线性地执行。这里仍然没有并发。所有 tx.send 调用与 trpl::sleep 调用及其相关的 await point 是依次进行的。只有在此之后 while let 循环才开始执行 recv 调用上的0 码力 | 562 页 | 3.23 MB | 24 天前3
共 1 条
- 1













