Rust 语言学习笔记程序设计语言的本质在于赋能(empowerment):无论你现在编写的是何 种代码,Rust 能让你在更为广泛的编程领域走得更远,写出自信。 比如,“系统层面”(“systems-level”)的工作,涉及内存管理、数据表示 和并发等底层细节。从传统角度来看,这是一个神秘的编程领域,只为浸淫多 年的极少数人所触及,也只有他们能避开那些臭名昭著的陷阱。即使谨慎的实 践者,亦唯恐代码出现漏洞、崩溃或损坏。 专用于无限循环,好处是对编译和运行进行了优化,跳过了表达式检查。 2.3.4 break 和 continue Rust 也提供了 break 和 continue 两个关键字用来控制循环的流程。 1.break 用来跳出当前层的循环; 2.continue 用来执行当前层的下一次迭代 break 和 continue 可以大大简化代码,不论在哪一门语言中。 for x in 编译器有一个 借用检查器(borrow checker),它比较作用域来确保所 有的借用都是有效的。避免出现类似 C 的悬挂指针等问题。借用检查器是在编 译阶段进行工作的,将所有的无效借用识别出来。 大部分情况下,借用检查器可以正常工作,对于某些特殊情况,借用检查器无 法识别,需要由开发人员显示标注生命周期。 主要分为以下三种情况: 1.函数定义中的生命周期注解 2.结构体定义中的生命周期注解0 码力 | 117 页 | 2.24 MB | 1 年前3
KCL: Rust 在编译器领域的实践与探索组织应用程序资源,并在整个交付过程中通过身份确保安 全 3.为 Kubernetes 和云精简应用交付工作流,并提供开发友 好的体验 基于 Platform as Code (平台服务即代码)理念,研发者 可以用统一的组织和操作界面定义应用交付生命周期,充分 利用Kubernetes和云的混合能力,通过端到端的交付工作 流程,真正实现集中定义、随处交付。 KusionStack 架构 • KCL:面向应用研发者的 KCL:面向应用研发者的 配置策略专用高级编程语 言,及其协议组,工具链及 IDE 插件 • Kusion:运维引擎、工具 链、服务层,IDE 工作空间 及社区技术集成套件 • Konfig:应用配置及基础 模型共享仓库,及面向 GitOps 工作流程(如 GitHub Actions)的自定义 CI 套件 KusionStack 实践 KCL Tools & CI/CD Engagement kcl-format 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 年前3
Comprehensive Rust(简体中文) 202412. 12 1.2 键盘快捷键 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 1.3 翻译 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 2 使用 Cargo 17 2 15-25 人。这样少的人数可以让大家能够 更轻松地提问,也可以让仅有一位的讲师有足够时间回答问题。确保教室里有讲师和学生用的桌子, 并能够坐下来使用笔记本电脑。特别地,讲师需要进行大量的现场编码工作,因此讲台是不需要的。 4. 课程当天,请提早到教室进行准备。建议直接在笔记本电脑上运行 mdbook serve 来演示课程内 容(请参阅安装说明)。这样可以确保在更换页面时不会出现延迟,演示效果更好。使用笔记本运行还 Ctrl + Enter : Execute the code sample that has focus. • s : Activate the search bar. 1.3 翻译 一批优秀的志愿者已将本课程翻译成其他语言: • 巴西葡萄牙语版本译者:@rastringer、@hugojacob、@joaovicmendes 和 @henrif75。 • 简体中文版本译者:@suetfei0 码力 | 359 页 | 1.33 MB | 10 月前3
Hello 算法 1.0.0 Rust版233、xb534、luluxia、yanedie、thomasq0、 YangXuanyi 和 th1nk3r‑ing 。 第 0 章 前言 hello‑algo.com 4 本书的代码审阅工作由 codingonion、Gonglja、gvenusleo、hpstory、justin‑tse、krahets、night‑cruise、 nuomi1 和 Reanon 完成(按照首字母顺 如何使用本书 � 为了获得最佳的阅读体验,建议你通读本节内容。 0.2.1 行文风格约定 ‧ 标题后标注 * 的是选读章节,内容相对困难。如果你的时间有限,可以先跳过。 ‧ 重要专有名词及其英文翻译会用「」 括号标注,例如「数组 array」 。建议记住它们,以便阅读文献。 ‧ 专有名词和有特指含义的词句会使用“引号” 标注,以避免歧义。 ‧ 重要名词、重点内容和总结性语句会 加粗,这类文字值得特别关注。 至少通读并运行所有代码。 与阅读代码相比,编写代码的过程往往能带来更多收获。动手学,才是真的学。 第 0 章 前言 hello‑algo.com 6 图 0‑3 运行代码示例 运行代码的前置工作主要分为三步。 第一步:安装本地编程环境。请参照附录所示的教程进行安装,如果已安装,则可跳过此步骤。 第二步:克隆或下载代码仓库。前往 GitHub 仓库。如果已经安装 Git ,可以通过以下命令克隆本仓库:0 码力 | 383 页 | 17.61 MB | 1 年前3
Hello 算法 1.2.0 简体中文 Rust 版本项目旨在创建一本开源、免费、对新手友好的数据结构与算法入门教程。 ‧ 全书采用动画图解,内容清晰易懂、学习曲线平滑,引导初学者探索数据结构与算法的知识地图。 ‧ 源代码可一键运行,帮助读者在练习中提升编程技能,了解算法工作原理和数据结构底层实现。 ‧ 提倡读者互助学习,欢迎大家在评论区提出问题与分享见解,在交流讨论中共同进步。 0.1.1 读者对象 若你是算法初学者,从未接触过算法,或者已经有一些刷题经验,对数据结构与算法有模糊的认识,在会与 ch0、MwumLi、martinx、ZnYang2018、hugtyftg、 logan‑qiu、psychelzh、Keynman、KeiichiKasai 和 0130w。 本书的代码审阅工作由 coderonion、curtishd、Gonglja、gvenusleo、hpstory、justin‑tse、khoaxuantu、 krahets、night‑cruise、nuomi1、Reanon 并运行所有代码。 与阅读代码相比,编写代码的过程往往能带来更多收获。动手学,才是真的学。 第 0 章 前言 www.hello‑algo.com 6 图 0‑3 运行代码示例 运行代码的前置工作主要分为三步。 第一步:安装本地编程环境。请参照附录所示的教程进行安装,如果已安装,则可跳过此步骤。 第二步:克隆或下载代码仓库。前往 GitHub 仓库。如果已经安装 Git ,可以通过以下命令克隆本仓库:0 码力 | 387 页 | 18.51 MB | 10 月前3
Hello 算法 1.1.0 Rust版802、primexiao、nidhoggfgg、1ch0、MwumLi、ZnYang2018、hugtyftg、 logan‑qiu、psychelzh 和 Keynman 。 本书的代码审阅工作由 codingonion、curtishd、Gonglja、gvenusleo、hpstory、justin‑tse、krahets、 night‑cruise、nuomi1 和 Reanon 至少通读并运行所有代码。 与阅读代码相比,编写代码的过程往往能带来更多收获。动手学,才是真的学。 第 0 章 前言 hello‑algo.com 6 图 0‑3 运行代码示例 运行代码的前置工作主要分为三步。 第一步:安装本地编程环境。请参照附录所示的教程进行安装,如果已安装,则可跳过此步骤。 第二步:克隆或下载代码仓库。前往 GitHub 仓库。如果已经安装 Git ,可以通过以下命令克隆本仓库: 0‑7 评论区示例 0.2.5 算法学习路线 从总体上看,我们可以将学习数据结构与算法的过程划分为三个阶段。 1. 阶段一:算法入门。我们需要熟悉各种数据结构的特点和用法,学习不同算法的原理、流程、用途和效 率等方面的内容。 2. 阶段二:刷算法题。建议从热门题目开刷,先积累至少 100 道题目,熟悉主流的算法问题。初次刷题 时,“知识遗忘”可能是一个挑战,但请放心,这是很正常的。我们可以按照“艾宾浩斯遗忘曲线”来0 码力 | 388 页 | 18.50 MB | 1 年前3
Rust 程序设计语言 简体中文版 1.85.0. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302 14.3. Cargo 工作空间 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 程序设计语言 简体中文版 Rust 程序设计语言 本书的英文原版作者为 Steve Klabnik 和 Carol Nichols,并由 Rust 社区补充完善。本简体 中文译本由 Rust 中文社区翻译。 本书的当前版本假设你使用 Rust 1.85.0(2025-02-17 发布)或更高版本并在所有项目的 Cargo.toml 文件中通过 edition = "2024"将其配置为使用 Rust rust-lang.org/stable/book/ 在线阅读;使用 rustup 安装的 Rust 也包含一份英文离线版,运行 rustup docs --book 即可打开。 本书还有一些社区 翻译版本。(译者注:简体中文译本可以在 https://kaisery.github.io/trpl- zh-cn/ 在线阅读,PDF 版本请下载 Rust 程序设计语言 简体中文版.pdf) 本书也有由0 码力 | 562 页 | 3.23 MB | 26 天前3
Rust 程序设计语言简体中文版.................................................................................. 352 14.3. Cargo 工作空间 ................................................................................................ d94e03a18a2590ed3f1c67b859cb11528d2a2d5c 本书的英文原版作者为 Steve Klabnik 和 Carol Nichols,并由 Rust 社区补充完善。本简体 中文译本由 Rust 中文社区翻译。 本书假设你使用 Rust 1.67.1(2023-02-09 发布)或更新的版本。请查看 第 1 章的 “安装” 部 分 了解如何安装和升级 Rust。 本书的英文原版 HTML 格式可以在 rust-lang.org/stable/book/ 在线阅读;使用 rustup 安装的 Rust 也包含一份英文离线版,运行 rustup docs --book 即可打开。 本书还有一些社区 翻译版本。简体中文译本可以在 https://kaisery.github.io/trpl-zh-cn/ 在线 阅读。 本书也有 由 No Starch Press 出版的纸质版和电子版。 ? 想要具有互动性的学习体验吗?试试0 码力 | 600 页 | 12.99 MB | 1 年前3
Rust 是否需要另⼀种“⾊彩”的 Future? - 郭⼦兴Rust 是否需要另⼀种“⾊彩”的 Future? 郭⼦兴,字节跳动服务框架团队研发⼯程师。 作者 Rust 是否需要另⼀种“⾊彩”的 Future? 标题 Rust 编译器将 async 块翻译成由标准库提供的 Future 类型,⽤户可以⽅便地通过⾃定义 Future 以实现⾮阻塞 的 IO 或并发控制语义。异步执⾏器被允许在任意时刻删除⽣成的 Future 实例以取消正在执⾏的异步操作,但取消 总是⽆副作⽤的吗?Rust 是否需要另⼀种“颜⾊”的 Future 为有副作⽤取消的异步⾏为提供安全保证? 回顾如何使⽤ Future ⽀持基于 poll 的 IO,以及基于取消 Future 的流程控制 # 基于 Poll 的 Future io-uring 等异步模型让 Future 的取消不 再⽆副作⽤,这可能导致严重的错误 # 不再是⽆副作⽤的取消 # 最终与折中⽅案 引⼊另⼀种“颜⾊”的 t2 �� println!("time out"), } } } 取消不再是⽆副作⽤的 取消基于完成的 IO 事件不再是⽆副作⽤的, 基于⽆副作⽤取消的控制流程可能会引发致命 错误。 1. 获取连结; 2. 进⼊接收循环; 3. 链接读取超时,进⼊超时分⽀; 4. 接收事件完成; 5. 离开超时分⽀; 6. 析构 t1, t2 Future;0 码力 | 19 页 | 7.77 MB | 1 年前3
Hello 算法 1.2.0 繁体中文 Rust 版本專案旨在建立一本開源、免費、對新手友好的資料結構與演算法入門教程。 ‧ 全書採用動畫圖解,內容清晰易懂、學習曲線平滑,引導初學者探索資料結構與演算法的知識地圖。 ‧ 源程式碼可一鍵執行,幫助讀者在練習中提升程式設計技能,瞭解演算法工作原理和資料結構底層實 現。 ‧ 提倡讀者互助學習,歡迎大家在評論區提出問題與分享見解,在交流討論中共同進步。 0.1.1 讀者物件 若你是演算法初學者,從未接觸過演算法,或者已經有一些刷題經驗,對資料結構與演算法有模糊的認識, h0、MwumLi、martinx、ZnYang2018、hugtyftg、 logan‑qiu、psychelzh、Keynman、KeiichiKasai 和 0130w。 本書的程式碼審閱工作由 coderonion、curtishd、Gonglja、gvenusleo、hpstory、justin‑tse、khoaxuantu、 krahets、night‑cruise、nuomi1、Reanon 程式碼。 與閱讀程式碼相比,編寫程式碼的過程往往能帶來更多收穫。動手學,才是真的學。 第 0 章 前言 www.hello‑algo.com 6 圖 0‑3 執行程式碼示例 執行程式碼的前置工作主要分為三步。 第一步:安裝本地程式設計環境。請參照附錄所示的教程進行安裝,如果已安裝,則可跳過此步驟。 第二步:克隆或下載程式碼倉庫。前往 GitHub 倉庫。如果已經安裝 Git ,可以透過以下命令克隆本倉庫:0 码力 | 388 页 | 18.82 MB | 10 月前3
共 29 条
- 1
- 2
- 3













