Comprehensive Rust(简体中文) 202412”hello-world” program it starts with. It comes with a few handy features: • 在 ”Tools” 下,使用 rustfmt 选项以 ”standard” 方式设置代码格式。 • Rust 具有两个用于生成代码的主要“配置文件”:调试(进行额外运行时检查、较少优化)和发布(较 少运行时检查,进行大量优化)。可以在顶部的”Debug” 且很难进行适当调优。 在许多情况下,Rust 的所有权和借用模型可以实现 C 语言的性能,能够精确地在所需位置执行分配和释 放操作,且为零成本。它还提供类似于 C++ 智能指针的工具。必要时,它还提供引用计数等其他选项,甚至 还有第三方 crate 可以支持运行时垃圾回收(本课程中不作介绍)。 19.3 所有权 所有变量绑定都有一个有效的“作用域”,使用 超出其作用域的变量是错误的: struct Point(i32 中正常运行。这对后续练习会很有帮助。 如果操作成功,则可使用右键点击 println! 上的 ”Go to definition”。 如何获取帮助 • 适用于 [rust_static_library gn 模板] 的选项(https://source.chromium.org/chromium/chromium/src/ +/main:build/rust/rust_static_library.gni;l=16)0 码力 | 359 页 | 1.33 MB | 11 月前3
Rust 程序设计语言 简体中文版 1.85.0你编写更快、更可靠的软件。在编程语言设计中,高层的工程学与底层的控制往往是难以兼得 的;而 Rust 则试图挑战这一矛盾。通过平衡强大的技术能力与优秀的开发者体验,Rust 为你 提供了控制底层细节(如内存使用)的选项,而无需承受通常与此类控制相关的所有繁琐细 节。 Rust 适合哪些人 Rust 因多种原因适合许多人。让我们看看几个最重要的群体。 开发者团队 Rust 已被证明是一个对于具有不同系统编程 rustup 下载 Rust,这是一个管理 Rust 版本和相关工具的命 令行工具。下载时需要联网。 注意:如果你出于某些理由倾向于不使用 rustup,请到 Rust 的其他安装方法页面 查 看其它安装选项。 接下来的步骤会安装最新的稳定版 Rust 编译器。Rust 的稳定性确保本书所有示例在最新版本 的 Rust 中能够继续编译。不同版本的输出可能略有不同,因为 Rust 经常改进错误信息和警 control system,VCS)。可以通过 --vcs 参数使 cargo new 切换到其它版本控制系统(VCS),或者不使用 VCS。运行 cargo new --help 查看可用的选项。 请自行选用文本编辑器打开 Cargo.toml 文件。它应该看起来与示例 1-2 中代码类似: 文件名:Cargo.toml [package] name = "hello_cargo" version0 码力 | 562 页 | 3.23 MB | 1 月前3
Rust 程序设计语言简体中文版你编写更快、更可靠的软件。在编程语言设计中,高层的工程学与底层的控制往往是难以兼得 的;而 Rust 则试图挑战这一矛盾。通过平衡强大的技术能力与优秀的开发者体验,Rust 为你 提供了控制底层细节(如内存使用)的选项,而无需承受通常与此类控制相关的所有繁琐细 节。 Rust 适合哪些人 Rust 因多种原因适合许多人。让我们看看几个最重要的群体。 开发者团队 Rust 已证明是一个对于具有不同系统编程知识水平的大型开发团队协作而言,非常高效的工 rustup 下载 Rust,这是一个管理 Rust 版本和相关工具的命 令行工具。下载时需要联网。 注意:如果你出于某些理由倾向于不使用 rustup ,请到 Rust 的其他安装方法页面 查看其它安装选项。 接下来的步骤会安装最新的稳定版 Rust 编译器。Rust 的稳定性确保本书所有示例在最新版本 的 Rust 中能够继续编译。不同版本的输出可能略有不同,因为 Rust 经常改进错误信息和警 control system,VCS)。可以通过 --vcs 参数使 cargo new 切换到其它版本控制系统(VCS),或者不使用 VCS。运行 cargo new --help 参看可用的选项。 请自行选用文本编辑器打开 Cargo.toml 文件。它应该看起来如示例 1-2 所示: 19/600 Rust 程序设计语言 简体中文版 文件名:Cargo.toml [package]0 码力 | 600 页 | 12.99 MB | 1 年前3
Hello 算法 1.1.0 Rust版元,则收银员需要找我们 31 元。他 会很自然地完成如图 1‑3 所示的思考。 1. 可选项是比 31 元面值更小的货币,包括 1 元、5 元、10 元、20 元。 2. 从可选项中拿出最大的 20 元,剩余 31 − 20 = 11 元。 3. 从剩余可选项中拿出最大的 10 元,剩余 11 − 10 = 1 元。 4. 从剩余可选项中拿出最大的 1 元,剩余 1 − 1 = 0 元。 5. 完成找零,方案为 ‧ 子问题的解无须合并:二分查找旨在查找一个特定元素,因此不需要将子问题的解进行合并。当子问题 得到解决时,原问题也会同时得到解决。 分治能够提升搜索效率,本质上是因为暴力搜索每轮只能排除一个选项,而分治搜索每轮可以排除一半选 项。 1. 基于分治实现二分查找 在之前的章节中,二分查找是基于递推(迭代)实现的。现在我们基于分治(递归)来实现它。 第 12 章 分治 hello‑algo0 码力 | 388 页 | 18.50 MB | 1 年前3
Hello 算法 1.2.0 简体中文 Rust 版元,则收银员需要找我们 31 元。他 会很自然地完成如图 1‑3 所示的思考。 1. 可选项是比 31 元面值更小的货币,包括 1 元、5 元、10 元、20 元。 2. 从可选项中拿出最大的 20 元,剩余 31 − 20 = 11 元。 3. 从剩余可选项中拿出最大的 10 元,剩余 11 − 10 = 1 元。 4. 从剩余可选项中拿出最大的 1 元,剩余 1 − 1 = 0 元。 5. 完成找零,方案为 ‧ 子问题的解无须合并:二分查找旨在查找一个特定元素,因此不需要将子问题的解进行合并。当子问题 得到解决时,原问题也会同时得到解决。 分治能够提升搜索效率,本质上是因为暴力搜索每轮只能排除一个选项,而分治搜索每轮可以排除一半选 项。 1. 基于分治实现二分查找 在之前的章节中,二分查找是基于递推(迭代)实现的。现在我们基于分治(递归)来实现它。 第 12 章 分治 www.hello‑algo0 码力 | 387 页 | 18.51 MB | 10 月前3
Hello 算法 1.0.0 Rust版元,则收银员需要找我们 31 元。他 会很自然地完成如图 1‑3 所示的思考。 1. 可选项是比 31 元面值更小的货币,包括 1 元、5 元、10 元、20 元。 2. 从可选项中拿出最大的 20 元,剩余 31 − 20 = 11 元。 3. 从剩余可选项中拿出最大的 10 元,剩余 11 − 10 = 1 元。 4. 从剩余可选项中拿出最大的 1 元,剩余 1 − 1 = 0 元。 5. 完成找零,方案为 ‧ 子问题的解无须合并:二分查找旨在查找一个特定元素,因此不需要将子问题的解进行合并。当子问题 得到解决时,原问题也会同时得到解决。 分治能够提升搜索效率,本质上是因为暴力搜索每轮只能排除一个选项,而分治搜索每轮可以排除一半选 项。 1. 基于分治实现二分查找 在之前的章节中,二分查找是基于递推(迭代)实现的。现在我们基于分治(递归)来实现它。 第 12 章 分治 hello‑algo0 码力 | 383 页 | 17.61 MB | 1 年前3
Rust 语言学习笔记lto = false debug-assertions = true codegen-units = 1 5.2.4 feature 段落 [features]段落中的字段被用于条件编译选项或者是可选依赖。例如: [package] name = "awesome" [features] # 此字段设置了可选依赖的默认选择列表, # 注意这里的"session"并非一个软件包名称, "go-faster")]`。 go-faster = [] # 此 feature 依赖于 bcrypt 软件包, # 这样封装的好处是未来可以对 secure-password 此 feature 增加可选项目。 secure-password = ["bcrypt"] # 此处的 session 字段导入了 cookie 软件包中的 feature 段落中的 session 字段 session0 码力 | 117 页 | 2.24 MB | 1 年前3
共 7 条
- 1













