Comprehensive Rust(简体中文) 202412. 194 34.1.6 AIDL 客户端 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194 34.1.7 更改 API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195 34.1.8 Updating Client 还可以下载标准库的文档。可以同时安装多个版本的 Rust,rustup 会根 据需要让你在这些版本之间切换。 关键点: • Rust 有一个快速发布时间表,每六周就会发布一次新版本。新版本保持与旧版本的向后兼容性,并 添加新功能。 17 • 共有三个发布阶段:“稳定版(stable)”、 “测试版(beta)”和“夜间版(nightly)”。 • 新功能会先在“夜间版”上测试, “测试版”会每六周转为“稳定版”。 registry、git 及文件夹等解析。 • Rust 区分版本(edition):当前版本是 Rust 2021。之前的版本是 Rust 2015 和 Rust 2018。 – 这些版本支持对语言进行向后不兼容的更改。 – 为防止破坏代码,版本是可选的:通过 Cargo.toml 文件为 crate 选择合适的版本。 – 为免分割生态系统,Rust 编译器可以混合使用为不同版本编写的代码。 – 请注意,不借助0 码力 | 359 页 | 1.33 MB | 11 月前3
Rust 程序设计语言 简体中文版 1.85.0我们也会讨论封装来实现细节,这可以让你在更高层面重用代码:你实现了一个操作后,其他 的代码可以通过该代码的公共接口来进行调用,而不需要知道它是如何实现的。你在编写代码 时可以定义哪些部分是其他代码可以使用的公共部分,以及哪些部分是你有权更改实现细节的 私有部分。这是另一种减少你在脑海中记住项目内容数量的方法。 这里有一个需要说明的概念 “作用域(scope)”:代码所在的嵌套上下文有一组定义为 “in scope” 的名称。当阅读、 们的比喻,把私有性规则想象成餐馆的后台办公室:后台的事务对餐厅顾客来说是不可知的, 但办公室经理可以洞悉其经营的餐厅并在其中做任何事情。 Rust 选择以这种方式来实现模块系统功能,因此默认隐藏内部实现细节。这样一来,你就知 道可以更改内部代码的哪些部分而不会破坏外部代码。不过 Rust 也确实提供了通过使用 pub 关键字来创建公共项,使子模块的内部部分暴露给上级模块。 使用 pub 关键字暴露路径 让我们回头看一下示例 7-4 "target/debug/minigrep",它是我们二进制文件的名称。这与 C 中 的参数列表的行为相匹配,让程序使用在执行时调用它们的名称。如果要在消息中打印它或者 根据用于调用程序的命令行别名更改程序的行为,通常可以方便地访问程序名称,不过考虑到 本章的目的,我们将忽略它并只保存所需的两个参数。 将参数值保存进变量 目前程序可以访问指定为命令行参数的值。现在需要将这两个参数的值保存进变量这样就可以0 码力 | 562 页 | 3.23 MB | 1 月前3
Hello 算法 1.1.0 Rust版从存储空间占用的角度看,使用 UTF‑8 表示英文字符非常高效,因为它仅需 1 字节;使用 UTF‑16 编码某些 非英文字符(例如中文)会更加高效,因为它仅需 2 字节,而 UTF‑8 可能需要 3 字节。 从兼容性的角度看,UTF‑8 的通用性最佳,许多工具和库优先支持 UTF‑8 。 第 3 章 数据结构 hello‑algo.com 63 3.4.5 编程语言的字符编码 对于以往的大多数编程语言,程序运行中的字符串都采用 数组和链表是两种基本的数据结构,分别代表数据在计算机内存中的两种存储方式:连续空间存储和 分散空间存储。两者的特点呈现出互补的特性。 ‧ 数组支持随机访问、占用内存较少;但插入和删除元素效率低,且初始化后长度不可变。 ‧ 链表通过更改引用(指针)实现高效的节点插入与删除,且可以灵活调整长度;但节点访问效率低、占 用内存较多。常见的链表类型包括单向链表、环形链表、双向链表。 ‧ 列表是一种支持增删查改的元素有序集合,通常基于动 hello‑algo.com 114 5.3.3 双向队列应用 双向队列兼具栈与队列的逻辑,因此它可以实现这两者的所有应用场景,同时提供更高的自由度。 我们知道,软件的“撤销”功能通常使用栈来实现:系统将每次更改操作 push 到栈中,然后通过 pop 实现撤 销。然而,考虑到系统资源的限制,软件通常会限制撤销的步数(例如仅允许保存 50 步)。当栈的长度超过 50 时,软件需要在栈底(队首)执行删除操作0 码力 | 388 页 | 18.50 MB | 1 年前3
Hello 算法 1.2.0 简体中文 Rust 版从存储空间占用的角度看,使用 UTF‑8 表示英文字符非常高效,因为它仅需 1 字节;使用 UTF‑16 编码某些 非英文字符(例如中文)会更加高效,因为它仅需 2 字节,而 UTF‑8 可能需要 3 字节。 从兼容性的角度看,UTF‑8 的通用性最佳,许多工具和库优先支持 UTF‑8 。 第 3 章 数据结构 www.hello‑algo.com 63 3.4.5 编程语言的字符编码 对于以往的大多数编程语言,程序运行中的字符串都采用 数组和链表是两种基本的数据结构,分别代表数据在计算机内存中的两种存储方式:连续空间存储和 分散空间存储。两者的特点呈现出互补的特性。 ‧ 数组支持随机访问、占用内存较少;但插入和删除元素效率低,且初始化后长度不可变。 ‧ 链表通过更改引用(指针)实现高效的节点插入与删除,且可以灵活调整长度;但节点访问效率低、占 用内存较多。常见的链表类型包括单向链表、环形链表、双向链表。 ‧ 列表是一种支持增删查改的元素有序集合,通常基于动 hello‑algo.com 114 5.3.3 双向队列应用 双向队列兼具栈与队列的逻辑,因此它可以实现这两者的所有应用场景,同时提供更高的自由度。 我们知道,软件的“撤销”功能通常使用栈来实现:系统将每次更改操作 push 到栈中,然后通过 pop 实现撤 销。然而,考虑到系统资源的限制,软件通常会限制撤销的步数(例如仅允许保存 50 步)。当栈的长度超过 50 时,软件需要在栈底(队首)执行删除操作0 码力 | 387 页 | 18.51 MB | 10 月前3
Hello 算法 1.0.0 Rust版从存储空间占用的角度看,使用 UTF‑8 表示英文字符非常高效,因为它仅需 1 字节;使用 UTF‑16 编码某些 非英文字符(例如中文)会更加高效,因为它仅需 2 字节,而 UTF‑8 可能需要 3 字节。 从兼容性的角度看,UTF‑8 的通用性最佳,许多工具和库优先支持 UTF‑8 。 第 3 章 数据结构 hello‑algo.com 63 3.4.5 编程语言的字符编码 对于以往的大多数编程语言,程序运行中的字符串都采用 数组和链表是两种基本的数据结构,分别代表数据在计算机内存中的两种存储方式:连续空间存储和 分散空间存储。两者的特点呈现出互补的特性。 ‧ 数组支持随机访问、占用内存较少;但插入和删除元素效率低,且初始化后长度不可变。 ‧ 链表通过更改引用(指针)实现高效的节点插入与删除,且可以灵活调整长度;但节点访问效率低、占 用内存较多。常见的链表类型包括单向链表、环形链表、双向链表。 ‧ 列表是一种支持增删查改的元素有序集合,通常基于动 双向队列兼具栈与队列的逻辑,因此它可以实现这两者的所有应用场景,同时提供更高的自由度。 第 5 章 栈与队列 hello‑algo.com 114 我们知道,软件的“撤销”功能通常使用栈来实现:系统将每次更改操作 push 到栈中,然后通过 pop 实现撤 销。然而,考虑到系统资源的限制,软件通常会限制撤销的步数(例如仅允许保存 50 步)。当栈的长度超过 50 时,软件需要在栈底(队首)执行删除操作0 码力 | 383 页 | 17.61 MB | 1 年前3
王宜国 - 基于 Rust 编程语⾔构建 Amphitheatre CLI Desktop Server 的全平台实践经验只需⼏秒钟⽽不是⼏分钟。 本地开发实时部署到远程集群 如何⼯作的? Kubernetes 集群 更改 资源定义 ⻆⾊定义 执⾏资源 资源定义 资源定义 更改 ⽂件 更改 ⽤户 触发 ⽂件 更改 frontend 12h shopping-cart 15m catalogue 3d ⽂件 更改 ⽤户 触发 ✳ ✳ 架构概览 AMP Cloud Account Amphitheatre0 码力 | 34 页 | 10.81 MB | 1 年前3
Borsh 安全高效的二进制序列化第三届中国 Rust 开发者大会 安全高效的二进制序列化 Daniel Wang @ NEAR Borsh • 运行、编码效率 • 确定性 • 跨平台兼容性 二进制序列化的问题 Binary Object Representation Serializer for Hashing • 字节级别确定性 • 执行速度快 Borsh • 轻量级 • 每一个对象与其二进制表示之间都存在一个双射映射0 码力 | 21 页 | 3.35 MB | 1 年前3
刘用涛 CnosDB时序数据库的Rust实践“零设置” 的交叉编译 rust crate 它提供了一个环境、交叉工具链和交叉编译库,可以生成最便携的二进制文件 3.4 Rust 交叉编译 1. IO 异步化 平台兼容性 隔离阻塞 IO 异步化 2. io_uring 性能有40%提高 3.5 异步 IO 4. 反哺社区 4.1 DataFusion 在开发过程中,我们发现一些0 码力 | 26 页 | 3.28 MB | 1 年前3
基于 Rust 语言编写的可编程的全球分布式 MQTT 服务器 王文庭⽀持多语⾔开发,⽐如Go,Python, rust,Javascript等 什么是Webassembly? 1. 所需求运⾏资源⼩(~64Kb for code and ~10Kb RAM) 2. 异构设备兼容性强(x86, ARM, RISC-V, MIPS, Raspberry Pi, Orange Pi … ) Serverless in MQTT Broker • 更好的代码执⾏环境抽象,它可以0 码力 | 31 页 | 3.95 MB | 1 年前3
Rust在物理引擎研发中的应用 崔汉青serde • 可自定义serializer/deserializer,灵活度高 • Pure rust win Pure Rust message 为了低延迟 • 序列化 • 不考虑版本兼容性 • 不带字段描述信息 • 仅支持primitives, Vec, 以及它们的组合嵌套 • 分布式物理引擎的计算和IO都很重要 • 计算线程和IO线程分离,各自绑定CPU核心 0 码力 | 22 页 | 1.18 MB | 1 年前3
共 15 条
- 1
- 2













