Comprehensive Rust(简体中文) 202412
. 12 1.2 键盘快捷键 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 1.3 翻译 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 2 使用 Cargo 17 2 Ctrl + Enter : Execute the code sample that has focus. • s : Activate the search bar. 1.3 翻译 一批优秀的志愿者已将本课程翻译成其他语言: • 巴西葡萄牙语版本译者:@rastringer、@hugojacob、@joaovicmendes 和 @henrif75。 • 简体中文版本译者:@suetfei @keispace, @jiyongp, @jooyunghan, and @namhyung. • 西班牙语版本译者:@deavid。 使用右上角的语言选择器切换语言。 未完成的翻译 还有很多语言版本仍在翻译中。以下是最近更新的翻译版本的链接: • 孟加拉语版本译者:@raselmandol。 • 法语版本译者:@KookaS 和@vcaen。 15 • 德语版本译者:@Throvn 和@ronaldfw。0 码力 | 359 页 | 1.33 MB | 10 月前3Rust 语言学习笔记
对于 go 而言,不需要对这些东西进行了解,只需要下载包安装到环境变量中即 可。 而 rust 的开发中经常会遇到配置不同的 toolchain 等需求,因此官方开发了 rustup。rustup 功能如下: 1.管理安装多个官方版本的 Rust 二进制程序。 2.配置基于目录的 Rust 工具链。 3.安装和更新来自 Rust 的发布通道: nightly, beta 和 stable。 中条件判断必须是 bool 类型,不能写出 if 5 这种判断条件。 2.2.2 match 语句 Rust 中没有类似于 C 的 switch 关键字,但它有用于模式匹配的 match, 能实现同样的功能,并且强大太多。 match 的使用非常简单,举例如下: let x = 5; match x { 1 => { println!("one") } y.clone(); println!("{:?}", y); } 4.3.2 trait 与内置类型 内置类型如:i32, i64 等也可以添加 trait 实现,为其定制一些功能: trait HasArea { fn area(&self) -> f64; } impl HasArea for i32 { fn area(&self) ->0 码力 | 117 页 | 2.24 MB | 1 年前3Rust 程序设计语言简体中文版
............................................................................ 278 12.4. 采用测试驱动开发完善库的功能 ................................................................................ 293 12.5. 处理环境变量 将错误信息输出到标准错误而不是标准输出 ............................................................. 316 13. Rust 中的函数式语言功能:迭代器与闭包 ...................................................................... 318 13.1. 闭包:可以捕获其环境的匿名函数 d94e03a18a2590ed3f1c67b859cb11528d2a2d5c 本书的英文原版作者为 Steve Klabnik 和 Carol Nichols,并由 Rust 社区补充完善。本简体 中文译本由 Rust 中文社区翻译。 本书假设你使用 Rust 1.67.1(2023-02-09 发布)或更新的版本。请查看 第 1 章的 “安装” 部 分 了解如何安装和升级 Rust。 本书的英文原版 HTML 格式可以在0 码力 | 600 页 | 12.99 MB | 1 年前3Rust 程序设计语言 简体中文版 1.85.0
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255 12.4. 采用测试驱动开发完善库的功能 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 程序设计语言 简体中文版 Rust 程序设计语言 本书的英文原版作者为 Steve Klabnik 和 Carol Nichols,并由 Rust 社区补充完善。本简体 中文译本由 Rust 中文社区翻译。 本书的当前版本假设你使用 Rust 1.85.0(2025-02-17 发布)或更高版本并在所有项目的 Cargo.toml 文件中通过 edition = "2024"将其配置为使用 Rust 本书还有一些社区 翻译版本。(译者注:简体中文译本可以在 https://kaisery.github.io/trpl- zh-cn/ 在线阅读,PDF 版本请下载 Rust 程序设计语言 简体中文版.pdf) 本书也有由 No Starch Press 出版的纸质版和电子版。 🚨 想要具有互动性的学习体验吗?试试 Rust Book 的另一个版本,其中包括测验、 高亮、可视化等功能:https://rust-book0 码力 | 562 页 | 3.23 MB | 10 天前3Hello 算法 1.0.0 Rust版
如何使用本书 � 为了获得最佳的阅读体验,建议你通读本节内容。 0.2.1 行文风格约定 ‧ 标题后标注 * 的是选读章节,内容相对困难。如果你的时间有限,可以先跳过。 ‧ 重要专有名词及其英文翻译会用「」 括号标注,例如「数组 array」 。建议记住它们,以便阅读文献。 ‧ 专有名词和有特指含义的词句会使用“引号” 标注,以避免歧义。 ‧ 重要名词、重点内容和总结性语句会 加粗,这类文字值得特别关注。 淘宝订单。购物者下单后,订单将加入队列中,系统随后会根据顺序处理队列中的订单。在双十一期 间,短时间内会产生海量订单,高并发成为工程师们需要重点攻克的问题。 ‧ 各类待办事项。任何需要实现“先来后到”功能的场景,例如打印机的任务队列、餐厅的出餐队列等, 队列在这些场景中可以有效地维护处理顺序。 5.3 双向队列 在队列中,我们仅能删除头部元素或在尾部添加元素。如图 5‑7 所示,「双向队列 double‑ended 实现另一个对称方向 的操作。为此,我们采用“双向链表”作为双向队列的底层数据结构。 如图 5‑8 所示,我们将双向链表的头节点和尾节点视为双向队列的队首和队尾,同时实现在两端添加和删除 节点的功能。 图 5‑8 基于链表实现双向队列的入队出队操作 实现代码如下所示: 第 5 章 栈与队列 hello‑algo.com 107 // === File: linkedlist_deque0 码力 | 383 页 | 17.61 MB | 1 年前3Hello 算法 1.1.0 Rust版
淘宝订单。购物者下单后,订单将加入队列中,系统随后会根据顺序处理队列中的订单。在双十一期 间,短时间内会产生海量订单,高并发成为工程师们需要重点攻克的问题。 ‧ 各类待办事项。任何需要实现“先来后到”功能的场景,例如打印机的任务队列、餐厅的出餐队列等, 队列在这些场景中可以有效地维护处理顺序。 5.3 双向队列 在队列中,我们仅能删除头部元素或在尾部添加元素。如图 5‑7 所示,双向队列(double‑ended 实现另一个对称方向 的操作。为此,我们采用“双向链表”作为双向队列的底层数据结构。 如图 5‑8 所示,我们将双向链表的头节点和尾节点视为双向队列的队首和队尾,同时实现在两端添加和删除 节点的功能。 图 5‑8 基于链表实现双向队列的入队出队操作 实现代码如下所示: 第 5 章 栈与队列 hello‑algo.com 107 // === File: linkedlist_deque 这两者的所有应用场景,同时提供更高的自由度。 我们知道,软件的“撤销”功能通常使用栈来实现:系统将每次更改操作 push 到栈中,然后通过 pop 实现撤 销。然而,考虑到系统资源的限制,软件通常会限制撤销的步数(例如仅允许保存 50 步)。当栈的长度超过 50 时,软件需要在栈底(队首)执行删除操作。但栈无法实现该功能,此时就需要使用双向队列来替代栈。请 注意,“撤销”的核心逻辑仍然遵循栈0 码力 | 388 页 | 18.50 MB | 1 年前3Hello 算法 1.2.0 简体中文 Rust 版
淘宝订单。购物者下单后,订单将加入队列中,系统随后会根据顺序处理队列中的订单。在双十一期 间,短时间内会产生海量订单,高并发成为工程师们需要重点攻克的问题。 ‧ 各类待办事项。任何需要实现“先来后到”功能的场景,例如打印机的任务队列、餐厅的出餐队列等, 队列在这些场景中可以有效地维护处理顺序。 5.3 双向队列 在队列中,我们仅能删除头部元素或在尾部添加元素。如图 5‑7 所示,双向队列(double‑ended 实现另一个对称方向 的操作。为此,我们采用“双向链表”作为双向队列的底层数据结构。 如图 5‑8 所示,我们将双向链表的头节点和尾节点视为双向队列的队首和队尾,同时实现在两端添加和删除 节点的功能。 图 5‑8 基于链表实现双向队列的入队出队操作 实现代码如下所示: 第 5 章 栈与队列 www.hello‑algo.com 107 // === File: linkedlist_deque 这两者的所有应用场景,同时提供更高的自由度。 我们知道,软件的“撤销”功能通常使用栈来实现:系统将每次更改操作 push 到栈中,然后通过 pop 实现撤 销。然而,考虑到系统资源的限制,软件通常会限制撤销的步数(例如仅允许保存 50 步)。当栈的长度超过 50 时,软件需要在栈底(队首)执行删除操作。但栈无法实现该功能,此时就需要使用双向队列来替代栈。请 注意,“撤销”的核心逻辑仍然遵循栈0 码力 | 387 页 | 18.51 MB | 10 月前3Rust与算法 - 谢波
个人项目实践 学习中总结探索 2015 年发布,很多人近几年才知道 Rust , Rust 中国 大会也才第三届,期待 Rust 中国大会第十届 Rust 处于起步阶段 中文圈学习资料或书籍少,有部分是翻译国外产品,能 不能中国人向国外输出作品 Rust 缺少学习资源 Rust 未来大有可为 Rust 在操作系统,数据库,各种框架和工具上应用范围 广 写作动机 当情况不明时,抱着一个纯粹的目标干事就行了,其他0 码力 | 28 页 | 3.52 MB | 1 年前3KCL: Rust 在编译器领域的实践与探索
Checking Test LSP KCL Language Server KCL Compiler KCL Package Manager 02 用 Rust 重写 KCL Python 代码翻译 栈式虚拟机 Rust 编译器 KCL 编译器架构升级 Source Code AST LLVM IR Native/WASM Source Code AST Bit code VM0 码力 | 25 页 | 3.50 MB | 1 年前3Rust 是否需要另⼀种“⾊彩”的 Future? - 郭⼦兴
Rust 是否需要另⼀种“⾊彩”的 Future? 郭⼦兴,字节跳动服务框架团队研发⼯程师。 作者 Rust 是否需要另⼀种“⾊彩”的 Future? 标题 Rust 编译器将 async 块翻译成由标准库提供的 Future 类型,⽤户可以⽅便地通过⾃定义 Future 以实现⾮阻塞 的 IO 或并发控制语义。异步执⾏器被允许在任意时刻删除⽣成的 Future 实例以取消正在执⾏的异步操作,但取消0 码力 | 19 页 | 7.77 MB | 1 年前3
共 27 条
- 1
- 2
- 3