Rust 程序设计语言 简体中文版 1.85.085.0(2025-02-17 发布)或更高版本并在所有项目的 Cargo.toml 文件中通过 edition = "2024"将其配置为使用 Rust 2024 edition 惯用法。请查 看第一章的 “安装” 部分了解如何安装和升级 Rust。 本书的英文原版 HTML 格式可以在 https://doc.rust-lang.org/stable/book/ 在线阅读;使用 rustup 续章节重新讨论。 本书分为两类章节:概念章节和项目章节。在概念章节中,我们学习 Rust 的某个方面。在项 目章节中,我们应用目前所学的知识一同构建小型程序。第二、十二和二十一章是项目章节; 其余都是概念章节。 第一章介绍如何安装 Rust,如何编写一个 “Hello, world!” 程序,以及如何使用 Rust 的包管理 器和构建工具 Cargo。第二章是一个编写 Rust 语言的实战介绍,我们会构建一个猜数字游戏。 Map(散列表)。第九章探索 Rust 的错误处理的理念与技术。 第十章深入介绍泛型(generic)、Trait 和生命周期(lifetime),这些功能让你能够定义适用 于多种类型的代码。第十一章全面讲述了测试,因为就算 Rust 有安全保证,也需要测试确保 程序逻辑正确。第十二章中将会构建我们自己的 grep 命令行工具的功能子集实现,用于在文 件中搜索文本。为此会用到之前章节讨论的很多概念。0 码力 | 562 页 | 3.23 MB | 1 月前3
Rust 程序设计语言简体中文版的:程序将会随机生成一个 1 到 100 之间的随机整数。接着它会请玩家猜一个数并输入,然后提示猜测是大了还是小了。 如果猜对了,它会打印祝贺信息并退出。 准备一个新项目 要创建一个新项目,进入第一章中创建的 projects 目录,使用 Cargo 新建一个项目,如下: $ cargo new guessing_game $ cd guessing_game 第一个命令,cargo new and their definitions at https://doc.rust-lang.org/cargo/ reference/manifest.html [dependencies] 正如第一章那样,cargo new 生成了一个 “Hello, world!” 程序。查看 src/main.rs 文件: 文件名:src/main.rs fn main() { println 内容。你可以在标准库文档中查看预导入的所有内容。 如果你需要的类型不在预导入内容中,就必须使用 use 语句显式地将其引入作用域。 std::io 库提供很多有用的功能,包括接收用户输入的功能。 如第一章所提及,main 函数是程序的入口点: # use std::io; # fn main() { # println!("Guess the number!"); # # println0 码力 | 600 页 | 12.99 MB | 1 年前3
Rust 语言学习笔记..............................................................................................7 第一章 包管理系统与版本管理工具................................................................9 1.1 Crate ........ io/rustprimer/content/ 《RustPrimer》 https://kaisery.github.io/trpl-zh-cn/ 《Rust 程序设计语言-简体中文版》 第一章 包管理系统与版本管理工具 包管理系统是所有语言向工程化方向走必须考虑的事情。 rust 的包管理系统和 go 的包管理系统以及 java 的包管理系统大大不同,很容 易给人造成困惑。 最主要原因是:0 码力 | 117 页 | 2.24 MB | 1 年前3
Hello 算法 1.1.0 Rust版。数组在初始化后 长度不可变,因此也称“静态数据结构”。值得注意的是,数组可通过重新分配内存实现长度变化,从而具备 一定的“动态性”。 Tip 如果你感觉物理结构理解起来有困难,建议先阅读下一章,然后再回顾本节内容。 3.2 基本数据类型 当谈及计算机中的数据时,我们会想到文本、图片、视频、语音、3D 模型等各种形式。尽管这些数据的组织 形式各异,但它们都由各种基本数据类型构成。 基本数据类型是 于数组实现的数据结构往往更受欢迎。 需要注意的是,高缓存效率并不意味着数组在所有情况下都优于链表。实际应用中选择哪种数据结构,应根 据具体需求来决定。例如,数组和链表都可以实现“栈”数据结构(下一章会详细介绍),但它们适用于不同 场景。 ‧ 在做算法题时,我们会倾向于选择基于数组实现的栈,因为它提供了更高的操作效率和随机访问的能 力,代价仅是需要预先为数组分配一定的内存空间。 第 4 章0 码力 | 388 页 | 18.50 MB | 1 年前3
Hello 算法 1.2.0 简体中文 Rust 版。数组在初始化后 长度不可变,因此也称“静态数据结构”。值得注意的是,数组可通过重新分配内存实现长度变化,从而具备 一定的“动态性”。 Tip 如果你感觉物理结构理解起来有困难,建议先阅读下一章,然后再回顾本节内容。 3.2 基本数据类型 当谈及计算机中的数据时,我们会想到文本、图片、视频、语音、3D 模型等各种形式。尽管这些数据的组织 形式各异,但它们都由各种基本数据类型构成。 基本数据类型是 于数组实现的数据结构往往更受欢迎。 需要注意的是,高缓存效率并不意味着数组在所有情况下都优于链表。实际应用中选择哪种数据结构,应根 据具体需求来决定。例如,数组和链表都可以实现“栈”数据结构(下一章会详细介绍),但它们适用于不同 场景。 ‧ 在做算法题时,我们会倾向于选择基于数组实现的栈,因为它提供了更高的操作效率和随机访问的能 力,代价仅是需要预先为数组分配一定的内存空间。 第 4 章0 码力 | 387 页 | 18.51 MB | 10 月前3
Hello 算法 1.0.0 Rust版化后长度不可变。相对应地, 基于链表实现的数据结构也称“动态数据结构”,这类数据结构在初始化后,仍可以在程序运行过程中对其长 度进行调整。 � 如果你感觉物理结构理解起来有困难,建议先阅读下一章,然后再回顾本节内容。 3.2 基本数据类型 当谈及计算机中的数据时,我们会想到文本、图片、视频、语音、3D 模型等各种形式。尽管这些数据的组织 形式各异,但它们都由各种基本数据类型构成。 基本数据类型是 于数组实现的数据结构往往更受欢迎。 需要注意的是,高缓存效率并不意味着数组在所有情况下都优于链表。实际应用中选择哪种数据结构,应根 据具体需求来决定。例如,数组和链表都可以实现“栈”数据结构(下一章会详细介绍),但它们适用于不同 场景。 ‧ 在做算法题时,我们会倾向于选择基于数组实现的栈,因为它提供了更高的操作效率和随机访问的能 力,代价仅是需要预先为数组分配一定的内存空间。 ‧ 如果0 码力 | 383 页 | 17.61 MB | 1 年前3
Hello 算法 1.2.0 繁体中文 Rust 版陣列在初始 化後長度不可變,因此也稱“靜態資料結構”。值得注意的是,陣列可透過重新分配記憶體實現長度變化,從 而具備一定的“動態性”。 Tip 如果你感覺物理結構理解起來有困難,建議先閱讀下一章,然後再回顧本節內容。 3.2 基本資料型別 當談及計算機中的資料時,我們會想到文字、圖片、影片、語音、3D 模型等各種形式。儘管這些資料的組織 形式各異,但它們都由各種基本資料型別構成。 基本資料型別是 時,基於陣列實現的資料結構往往更受歡迎。 需要注意的是,高快取效率並不意味著陣列在所有情況下都優於鏈結串列。實際應用中選擇哪種資料結構, 應根據具體需求來決定。例如,陣列和鏈結串列都可以實現“堆疊”資料結構(下一章會詳細介紹),但它們 適用於不同場景。 ‧ 在做演算法題時,我們會傾向於選擇基於陣列實現的堆疊,因為它提供了更高的操作效率和隨機訪問 的能力,代價僅是需要預先為陣列分配一定的記憶體空間。 第 40 码力 | 388 页 | 18.82 MB | 10 月前3
Comprehensive Rust(简体中文) 202412结合使用,并行处理所有对 http 服务的请求和数据库查询。尝试使 用 futures::join! 将 tokio::time::sleep 添加到 Future 中。这不是一个超时操作(其 需要使用 select!,下一章会详细介绍),而是展示了 join! 的使用方式。 64.2 选择 选择操作会等待一组 Future 中的任意一个就绪,并对 Future 产生的结果进行响应。在 JavaScript 中,该 操0 码力 | 359 页 | 1.33 MB | 11 月前3
Comprehensive Rust(繁体中文),讓所有要求會合至 HTTP 服務和資料庫查詢。請 嘗試使用 futures::join!,將 tokio::time::sleep 新增至 Future。這並非逾時 (逾時需 要 select!,下一章會說明),而是示範 join!。 64.2 選取 選 取 作 業 會 等 到 任 何 一 組 Future 準 備 就 緒,再 針 對 該 Future 的 結 果 提 供 回 應。這 類 似 於0 码力 | 358 页 | 1.41 MB | 11 月前3
Comprehensive Rust(繁体中文) 202406,讓所有要求會合至 HTTP 服務和資料庫查詢。請 嘗試使用 futures::join!,將 tokio::time::sleep 新增至 Future。這並非逾時 (逾時需 要 select!,下一章會說明),而是示範 join!。 64.2 選取 選 取 作 業 會 等 到 任 何 一 組 Future 準 備 就 緒,再 針 對 該 Future 的 結 果 提 供 回 應。這 類 似 於0 码力 | 356 页 | 1.41 MB | 1 年前3
共 10 条
- 1













