Rust 程序设计语言简体中文版中文社区翻译。 本书假设你使用 Rust 1.67.1(2023-02-09 发布)或更新的版本。请查看 第 1 章的 “安装” 部 分 了解如何安装和升级 Rust。 本书的英文原版 HTML 格式可以在 https://doc.rust-lang.org/stable/book/ 在线阅读;使用 rustup 安装的 Rust 也包含一份英文离线版,运行 rustup docs --book Rust 也为系统编程世界带来了现代化的开发工具: • Cargo 是内置的依赖管理器和构建工具,它能轻松增加、编译和管理依赖,并使依赖在 Rust 生态系统中保持一致。 • Rustfmt 格式化工具确保开发者遵循一致的代码风格。 • Rust Language Server 为集成开发环境(IDE)提供了强大的代码补全和内联错误信息功 能。 通过使用 Rust 生态系统中丰富的工具,开发者在编写系统级代码时可以更加高效。 期、Trait、 类型、函数和闭包的内容。 第 20 章我们将会完成一个项目,实现一个底层的、多线程的 Web 服务器! 最后的附录包含一些语言相关的实用信息,格式类似参考文档。 最后的附录包含了一些关于该语言的实用信息,其格式更像是参考资料。附录 A 涵盖了 Rust 的关键字,附录 B 涵盖了 Rust 的运算符和符号,附录 C 涵盖了标准库提供的可派生 Trait, 附录 D 涵盖了一些有用的开发工具,而附录0 码力 | 600 页 | 12.99 MB | 1 年前3
Rust 程序设计语言 简体中文版 1.85.0toml 文件中通过 edition = "2024"将其配置为使用 Rust 2024 edition 惯用法。请查 看第一章的 “安装” 部分了解如何安装和升级 Rust。 本书的英文原版 HTML 格式可以在 https://doc.rust-lang.org/stable/book/ 在线阅读;使用 rustup 安装的 Rust 也包含一份英文离线版,运行 rustup docs --book Rust 也为系统编程世界带来了现代化的开发工具: • Cargo 是内置的依赖管理器和构建工具,它能轻松增加、编译和管理依赖,并使依赖在 Rust 生态系统中保持一致。 • Rustfmt 格式化工具确保开发者遵循一致的代码风格。 • rust-analyzer 为集成开发环境(IDE)提供了强大的代码补全和内联错误信息功能。 通过使用 Rust 生态系统中丰富的工具,开发者在编写系统级代码时可以更加高效。 Rust)、宏(macro)和更多关于生命周期、 Trait、类型、函数和闭包的内容。 第二十一章我们将会完成一个项目,实现一个底层多线程的 Web 服务端! 最后的附录包含了一些关于该语言的实用信息,其格式更像是参考资料。附录 A 涵盖了 Rust 的关键字,附录 B 涵盖了 Rust 的运算符和符号,附录 C 涵盖了标准库提供的可派生 trait,附 录 D 涵盖了一些有用的开发工具,而附录 E 解释了0 码力 | 562 页 | 3.23 MB | 25 天前3
Rust 语言学习笔记rust doc rust 提供了从注释到可浏览网页文档的生成方法,通过 cargo doc 的方式。 注释主要有三种:行注释,模块注释,文档注释。 Rust 也有特定的用于文档的注释类型,通常被称为 文档注释 (documentation comments),他们会生成 HTML 文档。这些 HTML 展示公有 API 文档注释的内容,他们意在让对库感兴趣的程序员理解如何 使用 这个 这个 crate,而不是它是如何被 实现 的。 文档注释使用三斜杠 /// 而不是两斜杆并支持 Markdown 注解来格式化文本。 文档注释就位于需要文档的项的之前。 模块注释使用 //! ,行注释使用 // 模块注释和文档注释用起来非常舒服的,远比/* */舒服,IDEA 对它支持很好, 提供自动换行。 2.2 条件表达式 在 rust 中的条件表达式没有 switch 语句。 #[cfg(and(unix, not(windows)))] 5.1.2 几种常见的属性 官方的 attribute 文档: https://doc.rust-lang.org/reference/attributes.html RustPrimer 文档: https://rustcc.gitbooks.io/rustprimer/content/attr-and-compiler-arg/attribute0 码力 | 117 页 | 2.24 MB | 1 年前3
Comprehensive Rust(简体中文) 20241281 16.1 标准库 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 16.2 文档 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 16.3 Option . Cargo、Rust 源代码和 Rust 格式化工具。但是, 这样会得到一个过时的 Rust 版本,这可能会导致意外的行为。命令如下: sudo apt install cargo rust-src rustfmt 2.1 Rust 生态系统 Rust 生态系统由许多工具组成,主要包括: • rustc:Rust 编译器,可将 .rs 文件转换为二进制文件和其他中间格式。 • cargo:Rust 依赖项管理器和构建工具。Cargo 还附带一个内置的测试运行程序,用于执行单元 测试。 • rustup:Rust 工具链安装和更新工具。当 Rust 发布新版本时,此工具用于安装并更新 rustc 和 cargo。此外,rustup 还可以下载标准库的文档。可以同时安装多个版本的 Rust,rustup 会根 据需要让你在这些版本之间切换。 关键点: • Rust 有一个快速发布时间表,每六周就会发布一次新版本。新版本保持与旧版本的向后兼容性,并0 码力 | 359 页 | 1.33 MB | 10 月前3
Rust HTTP 协议栈在终端通信场景的实践 - 胡凯协议介绍 HTTP 协议的版本演化如下: GET Content request response HTTP/0.9 • 早期的 HTTP 协议 • 请求方法仅能使 用 GET • 响应仅含有文档 内容,且仅支持 html Method Content request response HTTP/1.0 • 新的请求方法 • 发送请求时附带 版本信息 • 支持标头字段 • 支持请求上传内 • 支持响应分块 • 引入额外的缓存 控制机制 • 引入内容协商机 制 • 报文基本格式不 再变化 HTTP/2 • 二进制协议 • 支持多路复用 • 支持响应分块 • 支持标头压缩 • 支持服务端推送 • 报文基本格式不 再变化 HTTP/3 • 基于 UDP 连接 • 报文基本格式不 再变化 Rust China Conf 2022 – 2023, Shanghai, 1、HTTP/2、 HTTP/3 协议及其组件 ✓ 支持 HTTPS ✓ 支持客户端代理 ✓ 支持自动重定向 ✓ 支持连接管理和复用 ✓ 支持进度显示 ✓ 支持发送 Multipart/ Chunk 格式 body Rust China Conf 2022 – 2023, Shanghai, China Rust 与终端 HTTP 通信场景结合 针对弱网环境的处理举例: ➢ 支持上层自定义0 码力 | 26 页 | 1.25 MB | 1 年前3
新一代分布式高性能图数据库的构建 - 沈游人缓存能起到很 好的加速效果 • 要想让内存缓存发挥最大的作用,就要能在有限的内存中存下尽量多的图数据 • 例如,对于属性的存储,可以通过自行序列化 / 反序列化大幅节省内存 • 而自定义存储格式往往需要内存的精细操作,由于 Rust 允许在 unsafe 下访问裸指针, 可以实现零开销读取 • 将 Unsafe 包裹,对外提供足够的接口 i32 i64 u32 u32 string string 强大的跨平台能力,在不同架构 下可以准确的控制代码行为 编译期间对生命周期检查确保内 存安全,无 GC 和运行时损耗 01 完善的测试类型支持,包括单元 测试、集成测试、基准测试等 02 03 和文档系统以及 CI/CD 工具的良 好集成 完整的断言系统 异步协程 零成本抽象 强大的测试框架 REPL 命令行客户端 WebUI 面向分析师,提供图模型定义、数据管理、图查询分析、服务状态监控、用户管理能力0 码力 | 38 页 | 24.68 MB | 1 年前3
Hello 算法 1.1.0 Rust版感谢校铨在知识产权方面提供的专业帮助,这对本开源书的完善起到了重要作用; ‧ 感谢苏潼为本书设计了精美的封面和 logo ,并在我的强迫症的驱使下多次耐心修改; ‧ 感谢 @squidfunk 提供的排版建议,以及他开发的开源文档主题 Material‑for‑MkDocs 。 在写作过程中,我阅读了许多关于数据结构与算法的教材和文章。这些作品为本书提供了优秀的范本,确保 了本书内容的准确性与品质。在此感谢所有老师和前辈的杰出贡献! Unicode 码点。 需要注意的是,以上讨论的都是字符串在编程语言中的存储方式,这和字符串如何在文件中存储或在网络中 传输是不同的问题。在文件存储或网络传输中,我们通常会将字符串编码为 UTF‑8 格式,以达到最优的兼容 性和空间效率。 第 3 章 数据结构 hello‑algo.com 64 3.5 小结 1. 重点回顾 ‧ 数据结构可以从逻辑结构和物理结构两个角度进行分类。逻辑结构描述了数据元素之间的逻辑关系,而 ,那么第二轮的结果将取代第一轮的结果。由于数字的高位优先级高于低 位,因此应该先排序低位再排序高位。 11.10.2 算法特性 相较于计数排序,基数排序适用于数值范围较大的情况,但前提是数据必须可以表示为固定位数的格式,且位 数不能过大。例如,浮点数不适合使用基数排序,因为其位数 ? 过大,可能导致时间复杂度 ?(??) ≫ ?(?2) 。 ‧ 时间复杂度为 ?(??):设数据量为 ?、数据为 ? 进制、最大位数为0 码力 | 388 页 | 18.50 MB | 1 年前3
Hello 算法 1.2.0 简体中文 Rust 版感谢校铨在知识产权方面提供的专业帮助,这对本开源书的完善起到了重要作用; ‧ 感谢苏潼为本书设计了精美的封面和 logo ,并在我的强迫症的驱使下多次耐心修改; ‧ 感谢 @squidfunk 提供的排版建议,以及他开发的开源文档主题 Material‑for‑MkDocs 。 在写作过程中,我阅读了许多关于数据结构与算法的教材和文章。这些作品为本书提供了优秀的范本,确保 了本书内容的准确性与品质。在此感谢所有老师和前辈的杰出贡献! Unicode 码点。 需要注意的是,以上讨论的都是字符串在编程语言中的存储方式,这和字符串如何在文件中存储或在网络中 传输是不同的问题。在文件存储或网络传输中,我们通常会将字符串编码为 UTF‑8 格式,以达到最优的兼容 性和空间效率。 第 3 章 数据结构 www.hello‑algo.com 64 3.5 小结 1. 重点回顾 ‧ 数据结构可以从逻辑结构和物理结构两个角度进行分类。逻辑结构描述了数据元素之间的逻辑关系,而 位,因此应该先排序低位再排序高位。 第 11 章 排序 www.hello‑algo.com 261 11.10.2 算法特性 相较于计数排序,基数排序适用于数值范围较大的情况,但前提是数据必须可以表示为固定位数的格式,且位 数不能过大。例如,浮点数不适合使用基数排序,因为其位数 ? 过大,可能导致时间复杂度 ?(??) ≫ ?(?2) 。 ‧ 时间复杂度为 ?(??)、非自适应排序:设数据量为 ?、数据为0 码力 | 387 页 | 18.51 MB | 10 月前3
Hello 算法 1.0.0 Rust版感谢校铨在知识产权方面提供的专业帮助,这对本开源书的完善起到了重要作用; ‧ 感谢苏潼为本书设计了精美的封面和 logo ,并在我的强迫症的驱使下多次耐心修改; ‧ 感谢 @squidfunk 提供的排版建议,以及他开发的开源文档主题 Material‑for‑MkDocs 。 在写作过程中,我阅读了许多关于数据结构与算法的教材和文章。这些作品为本书提供了优秀的范本,确保 了本书内容的准确性与品质。在此感谢所有老师和前辈的杰出贡献! Unicode 码点。 需要注意的是,以上讨论的都是字符串在编程语言中的存储方式,这和字符串如何在文件中存储或在网络中 传输是不同的问题。在文件存储或网络传输中,我们通常会将字符串编码为 UTF‑8 格式,以达到最优的兼容 性和空间效率。 第 3 章 数据结构 hello‑algo.com 64 3.5 小结 1. 重点回顾 ‧ 数据结构可以从逻辑结构和物理结构两个角度进行分类。逻辑结构描述了数据元素之间的逻辑关系,而 ,那么第二轮的结果将取代第一轮的结果。由于数字的高 位优先级高于低位,因此应该先排序低位再排序高位。 11.10.2 算法特性 相较于计数排序,基数排序适用于数值范围较大的情况,但前提是数据必须可以表示为固定位数的格式,且位 数不能过大。例如,浮点数不适合使用基数排序,因为其位数 ? 过大,可能导致时间复杂度 ?(??) ≫ ?(?2) 。 ‧ 时间复杂度为 ?(??):设数据量为 ?、数据为 ? 进制、最大位数为0 码力 | 383 页 | 17.61 MB | 1 年前3
Rust分布式账务系统 - 胡宇:跨语言跨平台通讯 心路历程 真刀实枪 – 开发调试部署 IDE JetBrains + Rust 插件 Gitlab CI/CD 心路历程 真刀实枪 – 文档工具 文档生成 CI/CD git page 作为文档 心路历程 吐槽点 ● Nightly 版本编译器: tikv , raft-rs ● 无官方库,官方库支持不成熟 ○ Kafka (第三方: https://github0 码力 | 27 页 | 12.60 MB | 1 年前3
共 20 条
- 1
- 2













