Rust 程序设计语言简体中文版Rust 能让你在更为广泛的编程领域走得更远,写出自信。(这一点并不显而易见) 举例来说,那些“系统层面”的工作涉及内存管理、数据表示和并发等底层细节。从传统角度来 看,这是一个神秘的编程领域,只为浸润多年的极少数人所触及,也只有他们能避开那些臭名 昭著的陷阱。即使谨慎的实践者,亦唯恐代码出现漏洞、崩溃或损坏。 Rust 破除了这些障碍:它消除了旧的陷阱,并提供了伴你一路同行的友好、精良的工具。想 要 abstractions)—— 将高级语言特性编 译成底层代码,并且与手写的代码运行速度同样快。Rust 努力确保代码又安全又快速。 这里提到的只是几个较大的受益群体,Rust 语言也希望能支持更多其他用户。总的来说, Rust 最重要的目标是消除数十年来程序员习以为常的取舍,让安全和高效、速度和易读易用 可以兼得。试试看 Rust,说不定它的选择就适合你。 本书适合哪些人 本书假设你已经有其 ” 程序,以及如何使用 Rust 的包管理 器和构建工具 Cargo。第 2 章是一个编写 Rust 语言的实战介绍,我们会构建一个猜数字游 戏。我们会站在较高的层次介绍一些概念,而后续章节将提供更多细节。如果你希望立刻就动 手实践一下,第 2 章是开始的好地方。第 3 章介绍 Rust 中类似其他编程语言的特性,第 4 章 会学习 Rust 的所有权系统。如果你是一个特别细致的学习者,喜欢在进入下一环节之前学习0 码力 | 600 页 | 12.99 MB | 1 年前3
 Rust 程序设计语言 简体中文版 1.85.0文本编辑器和集成开发环境(Integrated Development Environments, IDE) 本书不会假设你使用何种工具来编写 Rust 代码。几乎任何文本编辑器都可以搞定!然而,很 多文本编辑器和集成开发环境(IDE)内置了 Rust 支持。你总是可以在 Rust 官网的工具页面 找到很多相对流行的编辑器和 IDE 列表。 离线使用本书 在一些示例中,我们将会使用标准库之外的 Rust 表示这个参数是一个 引用(reference),它允许多处代码访问同一处数据,而无需在内存中 多次拷贝。引用是一个复杂的特性,Rust 的一个主要优势就是安全而简单的操纵引用。完成 当前程序并不需要了解如此多细节。现在,我们只需知道它像变量一样,默认是不可变的。因 此,需要写成 &mut guess 来使其可变,而不是 &guess。(第四章会更全面地讲解引用。) 使用 Result 类型来处理潜在的错误 build 时,Cargo 会更新可用 crate 的 registry,并根据你指定的新版本重 新评估 rand 的要求。 第十四章会讲到 Cargo 及其生态系统 的更多内容,不过目前你只需要了解这么多。通过 Cargo 复用库文件非常容易,因此 Rustacean 能够编写出由很多包组装而成的更轻巧的项目。 生成一个随机数 让我们开始使用 rand 来生成一个要猜测的数字。下一步是更新 src/main0 码力 | 562 页 | 3.23 MB | 29 天前3
 Rust 语言学习笔记.. 11 1.2.2 引用外部文件模块 ................................................................ 11 1.2.3 多文件模块的层级关系 .......................................................... 12 1.2.4 module 路径 .......... 是一门系统级编程语言,被设计为保证内存和线程安全,并防止段错误。 作为系统级编程语言,它的基本理念是 “零开销抽象”。理论上来说,它的速 度与 C / C++ 同级。 Rust 可以被归为通用的、多范式、编译型的编程语言,类似 C 或者 C++。与 这两门编程语言不同的是,Rust 是线程安全的! Rust 编程语言的目标是,创建一个高度安全和并发的软件系统。它强调安全性、 并发和内存控制。尽管 能让你在更为广泛的编程领域走得更远,写出自信。 比如,“系统层面”(“systems-level”)的工作,涉及内存管理、数据表示 和并发等底层细节。从传统角度来看,这是一个神秘的编程领域,只为浸淫多 年的极少数人所触及,也只有他们能避开那些臭名昭著的陷阱。即使谨慎的实 践者,亦唯恐代码出现漏洞、崩溃或损坏。 Rust 破除了这些障碍,其消除了旧的陷阱并提供了伴你一路同行的友好、精良 的工具。想要0 码力 | 117 页 | 2.24 MB | 1 年前3
 Comprehensive Rust(简体中文) 202412. . . . 35 II 第一天:下午 37 7 Welcome Back 38 8 元组和数组 39 8.1 数组(Arrays) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 8.2 元组(Tuples) . . . . . . . . . . . . . . . . . . . . 48 10.1 结构体 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 10.2 元组结构体 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 10.3 枚举 . . . . . minutes 控制流基础 40 minutes • Day 1 Afternoon (2 hours and 35 minutes, including breaks) Segment Duration 元组和数组 35 minutes 引用 55 minutes 用户定义的类型 50 minutes • Day 2 Morning (2 hours and 55 minutes, including0 码力 | 359 页 | 1.33 MB | 10 月前3
 刘用涛 CnosDB时序数据库的Rust实践CnosDB 架构与选型 特性 • 横/纵 向扩展 • 计算存储分离 • 平衡存储性能与成本 • 查询引擎支持矢量化查询 • 兼容多种时序协议 • 可观测性 • 支持云原生 • 原生支持多租户 • 租户Quota可动态配置 • 云边端协同 • 云上生态融合 整体架构 1.2 存储引擎 version_set Vnode IndexEngine DataEngine cache acktrace 1. sync rwlock parking_lot async rwlock tokio 1. 找出目标系统的三元组 {arch}-{vendor}-{sys}-{abi} 2. Rust编译工具链 rustup target add $target, --target=$rustc_target 3. 配置链接器0 码力 | 26 页 | 3.28 MB | 1 年前3
 Hello 算法 1.0.0 Rust版轮的重复后,就能将其牢记在心。 3. 阶段三:搭建知识体系。在学习方面,我们可以阅读算法专栏文章、解题框架和算法教材,以不断丰富 知识体系。在刷题方面,可以尝试采用进阶刷题策略,如按专题分类、一题多解、一解多题等,相关的 刷题心得可以在各个社区找到。 如图 0‑8 所示,本书内容主要涵盖“阶段一”,旨在帮助你更高效地展开阶段二和阶段三的学习。 第 0 章 前言 hello‑algo.com 9 图 log_recur(n: f32) -> i32 { if n <= 1.0 { return 0; } log_recur(n / 2.0) + 1 } 对数阶常出现于基于分治策略的算法中,体现了“一分为多”和“化繁为简”的算法思想。它增长缓慢,是 仅次于常数阶的理想的时间复杂度。 � ?(log ?) 的底数是多少? 准确来说,“一分为 ?”对应的时间复杂度是 ?(log? ?) 。而通过对数换底公式,我们可以 ,元素之间是一对一的顺序关系。 ‧ 非线性数据结构:树、堆、图、哈希表。 非线性数据结构可以进一步划分为树形结构和网状结构。 ‧ 树形结构:树、堆、哈希表,元素之间是一对多的关系。 ‧ 网状结构:图,元素之间是多对多的关系。 图 3‑1 线性数据结构与非线性数据结构 3.1.2 物理结构:连续与分散 当算法程序运行时,正在处理的数据主要存储在内存中。图 3‑2 展示了一个计算机内存条,其中每个黑色方0 码力 | 383 页 | 17.61 MB | 1 年前3
 Hello 算法 1.1.0 Rust版GitHub 仓库。 3. 阶段三:搭建知识体系。在学习方面,我们可以阅读算法专栏文章、解题框架和算法教材,以不断丰富 知识体系。在刷题方面,可以尝试采用进阶刷题策略,如按专题分类、一题多解、一解多题等,相关的 刷题心得可以在各个社区找到。 如图 0‑8 所示,本书内容主要涵盖“阶段一”,旨在帮助你更高效地展开阶段二和阶段三的学习。 第 0 章 前言 hello‑algo.com 9 图 log_recur(n: i32) -> i32 { if n <= 1 { return 0; } log_recur(n / 2) + 1 } 对数阶常出现于基于分治策略的算法中,体现了“一分为多”和“化繁为简”的算法思想。它增长缓慢,是 仅次于常数阶的理想的时间复杂度。 ?(log ?) 的底数是多少? 准确来说,“一分为 ?”对应的时间复杂度是 ?(log? ?) 。而通过对数换底公式,我们可以得到具有 ,元素之间是一对一的顺序关系。 ‧ 非线性数据结构:树、堆、图、哈希表。 非线性数据结构可以进一步划分为树形结构和网状结构。 ‧ 树形结构:树、堆、哈希表,元素之间是一对多的关系。 ‧ 网状结构:图,元素之间是多对多的关系。 图 3‑1 线性数据结构与非线性数据结构 3.1.2 物理结构:连续与分散 当算法程序运行时,正在处理的数据主要存储在内存中。图 3‑2 展示了一个计算机内存条,其中每个黑色方0 码力 | 388 页 | 18.50 MB | 1 年前3
 Hello 算法 1.2.0 简体中文 Rust 版GitHub 仓库。 3. 阶段三:搭建知识体系。在学习方面,我们可以阅读算法专栏文章、解题框架和算法教材,以不断丰富 知识体系。在刷题方面,可以尝试采用进阶刷题策略,如按专题分类、一题多解、一解多题等,相关的 刷题心得可以在各个社区找到。 如图 0‑8 所示,本书内容主要涵盖“阶段一”,旨在帮助你更高效地展开阶段二和阶段三的学习。 第 0 章 前言 www.hello‑algo.com 9 log_recur(n: i32) -> i32 { if n <= 1 { return 0; } log_recur(n / 2) + 1 } 对数阶常出现于基于分治策略的算法中,体现了“一分为多”和“化繁为简”的算法思想。它增长缓慢,是 仅次于常数阶的理想的时间复杂度。 ?(log ?) 的底数是多少? 准确来说,“一分为 ?”对应的时间复杂度是 ?(log? ?) 。而通过对数换底公式,我们可以得到具有 ,元素之间是一对一的顺序关系。 ‧ 非线性数据结构:树、堆、图、哈希表。 非线性数据结构可以进一步划分为树形结构和网状结构。 ‧ 树形结构:树、堆、哈希表,元素之间是一对多的关系。 ‧ 网状结构:图,元素之间是多对多的关系。 图 3‑1 线性数据结构与非线性数据结构 3.1.2 物理结构:连续与分散 当算法程序运行时,正在处理的数据主要存储在内存中。图 3‑2 展示了一个计算机内存条,其中每个黑色方0 码力 | 387 页 | 18.51 MB | 10 月前3
 Rust算法教程 The Algos (algorithms)单词abandon哈哈哈),但是这道题⽤Rust来写也并不是那么简单,尤其是对于Rust新⼿,相信 看完这道题你对Rust中的⼀些⼩细节会有更深的理解。 解法⼀ 简单粗暴,双重循环,遍历所有的⼆元组直到找到符合题⽬要求的结果。 解法⼆ 我们观察解法⼀中第⼆个for循环: 我们换种⽅式思考: impl Solution { pub fn two_sum(nums: VechMap了。 如果你是个Rust新⼿的话,相信你可能会存在以下⼏点疑惑: 为什么需要 use std::collections::HashMap; 这⼀⾏:可能是觉得HashMap⽤的没有那 么多吧,因此Rust并没有将HashMap列⼊Prelude⾏列当中,因此当我们需要使⽤ HashMap时,需要⼿动引⼊。 前⾯的 for i in 0..nums.len() 哪去了,这个 for (index (index, value) in nums.iter().enumerate() 是个什么⻤:在Rust中推荐使⽤迭代器,⽽enumerate这个迭代 器适配器返回含有(下标,值)的元组。 为什么 if let Some(&other_index) = map.get(&other) 需要⽤到两个引⽤符号:简单来 说,因为所有权的问题。HashMap的get⽅法中传⼊的参数是对key的引⽤,返回的是 0 码力 | 270 页 | 8.46 MB | 1 年前3
 Hello 算法 1.2.0 繁体中文 Rust 版作者:靳宇棟(@krahets) 程式碼審閱:伍志豪(@night‑cruise)、榮怡(@rongyi) Release 1.2.0 2024‑12‑06 序 兩年前,我在力扣上分享了“劍指 Offer”系列題解,受到了許多讀者的鼓勵與支持。在與讀者交流期間,我 最常被問到的一個問題是“如何入門演算法”。漸漸地,我對這個問題產生了濃厚的興趣。 兩眼一抹黑地刷題似乎是最受歡迎的方法,簡單、直接且有效。然而刷題就如同玩“踩地雷”遊戲,自學能 ”從這個意義上看,這本 書並非完全“免費”。為了不辜負你為本書所付出的寶貴“注意力”,我會竭盡所能,投入最大的“注意力” 來完成本書的創作。 本人自知學疏才淺,書中內容雖然已經過一段時間的打磨,但一定仍有許多錯誤,懇請各位老師與同學批評 指正。 本書中的程式碼附有可一鍵執行的原始檔,託管於 github.com/krahets/hello‑algo 倉庫。 動畫在 PDF 內的展示效果有限,可訪問 www 從巧奪天工的匠人 技藝、到解放生產力的工業產品、再到宇宙運行的科學規律,幾乎每一件平凡或令人驚嘆的事物背後,都隱 藏著精妙的演算法思想。 同樣,資料結構無處不在:大到社會網絡,小到地鐵路線,許多系統都可以建模為“圖”;大到一個國家,小 到一個家庭,社會的主要組織形式呈現出“樹”的特徵;冬天的衣服就像“堆疊”,最先穿上的最後才能脫下; 羽毛球筒則如同“佇列”,一端放入、一端取出;字典就像一個“雜湊表”,能夠快速查找目標詞條。0 码力 | 388 页 | 18.82 MB | 10 月前3
共 29 条
- 1
 - 2
 - 3
 













