Rust 程序设计语言 简体中文版 1.85.0
. . . . . . 243 12. 一个 I/O 项目:构建命令行程序 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249 12.1. 接受命令行参数 . . . . . . . . . . . . . . . 对低风险的操作,因为编译器会替你找到经典的错误。同时你可以自信地采取更加激进的优 化,而不会意外引入崩溃或漏洞。 但 Rust 并不局限于底层系统编程。它表达力强、写起来舒适,让人能够轻松地编写出命令行 应用、网络服务器等各种类型的代码——在本书中就有这两者的简单示例。使用 Rust 能让你 把在一个领域中学习的技能延伸到另一个领域:你可以通过编写网页应用来学习 Rust,接着 将同样的技能应用到你的 你编写更快、更可靠的软件。在编程语言设计中,高层的工程学与底层的控制往往是难以兼得 的;而 Rust 则试图挑战这一矛盾。通过平衡强大的技术能力与优秀的开发者体验,Rust 为你 提供了控制底层细节(如内存使用)的选项,而无需承受通常与此类控制相关的所有繁琐细 节。 Rust 适合哪些人 Rust 因多种原因适合许多人。让我们看看几个最重要的群体。 开发者团队 Rust 已被证明是一个对于具有不同系统编程0 码力 | 562 页 | 3.23 MB | 10 天前3Comprehensive 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 在 Google 的其他部分进行了实验,结果是能使 PR 性能得到提 升) – 字体库(例如 font-types) – gnrt 工具(我们将在本课程稍后的部分中加以介绍)使用 clap 进行命令行解析,使用 toml 处理配置文件。 * Disclaimer: a unique reason for using cargo was unavailability of gn when building0 码力 | 359 页 | 1.33 MB | 10 月前3Hello 算法 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‑algo Miniconda3 ,需要 Python 3.10 或更新版本。 2. 在 VS Code 的插件市场中搜索 python ,安装 Python Extension Pack 。 3.(可选)在命令行输入 pip install black ,安装代码格式化工具。 2. C/C++ 环境 1. Windows 系统需要安装 MinGW(配置教程);MacOS 自带 Clang ,无须安装。0 码力 | 388 页 | 18.50 MB | 1 年前3Hello 算法 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‑algo Miniconda3 ,需要 Python 3.10 或更新版本。 2. 在 VS Code 的插件市场中搜索 python ,安装 Python Extension Pack 。 3.(可选)在命令行输入 pip install black ,安装代码格式化工具。 2. C/C++ 环境 1. Windows 系统需要安装 MinGW(配置教程);MacOS 自带 Clang ,无须安装。0 码力 | 387 页 | 18.51 MB | 10 月前3Hello 算法 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‑algo Miniconda3 ,需要 Python 3.10 或更新版本。 2. 在 VS Code 的插件市场中搜索 python ,安装 Python Extension Pack 。 3.(可选)在命令行输入 pip install black ,安装代码格式化工具。 2. C/C++ 环境 1. Windows 系统需要安装 MinGW(配置教程);MacOS 自带 Clang ,无须安装。0 码力 | 383 页 | 17.61 MB | 1 年前3Rust 程序设计语言简体中文版
你编写更快、更可靠的软件。在编程语言设计中,高层的工程学与底层的控制往往是难以兼得 的;而 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新一代分布式高性能图数据库的构建 - 沈游人
01 完善的测试类型支持,包括单元 测试、集成测试、基准测试等 02 03 和文档系统以及 CI/CD 工具的良 好集成 完整的断言系统 异步协程 零成本抽象 强大的测试框架 REPL 命令行客户端 WebUI 面向分析师,提供图模型定义、数据管理、图查询分析、服务状态监控、用户管理能力 免代码,可视化定义实体、 边,设计图模型。 【亮点】 • 支持模型导入导出 • 拖拽式关系构建0 码力 | 38 页 | 24.68 MB | 1 年前3Rust 语言学习笔记
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
共 8 条
- 1