Rust 程序设计语言简体中文版
{guess}"); # } 24/600 Rust 程序设计语言 简体中文版 默认情况下,Rust 设定了若干个会自动导入到每个程序作用域中的标准库内容,这组内容被 称为 预导入(preclude) 内容。你可以在标准库文档中查看预导入的所有内容。 如果你需要的类型不在预导入内容中,就必须使用 use 语句显式地将其引入作用域。 std::io 库提供很多有用的功能,包括接收用户输入的功能。 类型通常并不比你设想出来的要复杂多少。 注意虽然标准库中包含一个 IpAddr 的定义,仍然可以创建和使用我们自己的定义而不会有冲 突,因为我们并没有将标准库中的定义引入作用域。第七章会讲到如何导入类型。 来看看示例 6-2 中的另一个枚举的例子:它的成员中内嵌了多种多样的类型: enum Message { Quit, Move { x: i32, y: i32 }, 使用 pub use 重导出名称 使用 use 关键字,将某个名称导入当前作用域后,这个名称在此作用域中就可以使用了,但 它对此作用域之外还是私有的。如果想让其他人调用我们的代码时,也能够正常使用这个名 称,就好像它本来就在当前作用域一样,那我们可以将 pub 和 use 合起来使用。这种技术被 称为 “重导出(re-exporting)”:我们不仅将一个名称导入了当前作用域,还允许别人把它导0 码力 | 600 页 | 12.99 MB | 1 年前3Rust 程序设计语言 简体中文版 1.85.0
输入/输出库引入当前作用域。io 库来自于标准库,也被称为 std: use std::io; 默认情况下,Rust 设定了若干个会自动导入到每个程序作用域中的标准库内容,这组内容被 称为 预导入(prelude) 内容。你可以在标准库文档中查看预导入的所有内容。 如果你需要的类型不在预导入内容中,就必须使用 use 语句显式地将其引入作用域。std::io 库提供很多有用的功能,包括接收用户输入的功能。 如第一章所提及,main 甚至可以包含另一个枚举!另外,标准库中的类型通常并不比你设想出来的要复杂多少。 注意虽然标准库中包含一个 IpAddr 的定义,仍然可以创建和使用我们自己的定义而不会有冲 突,因为我们并没有将标准库中的定义引入作用域。第七章会讲到如何导入类型。 来看看示例 6-2 中的另一个枚举的例子:它的变体中内嵌了多种多样的类型: enum Message { Quit, Move { x: i32, y: i32 }, 7-16 都是惯用写法,如何选择都取决于你! 使用 pub use 重导出名称 使用 use 关键字,将某个名称导入当前作用域后,该名称对此作用域之外还是私有的。若要让 作用域之外的代码能够像在当前作用域中一样使用该名称,可以将 pub 与 use 组合使用。这 种技术被称为重导出(re-exporting),因为在把某个项目导入当前作用域的同时,也将其暴露 给其他作用域。 示例 7-17 将示例0 码力 | 562 页 | 3.23 MB | 10 天前3Comprehensive Rust(简体中文) 202412
Including unsafe Rust Code . . . . . . . . . . . . . . . . . . . . . . . . . . . 227 43.2 在 Chromium C++ 中导入 Rust 代码 . . . . . . . . . . . . . . . . . . . . . . . . 228 43.3 Visual Studio Code . . . . . . . 。 2. 作为绝对路径: • crate::foo 是指当前 crate 的根中的 foo, • “bar::foo”是指“bar”crate 中的“foo”。 • 通常使用较短的路径来“重新导出”符号。例如,crate 中的顶层 lib.rs 文件可能会 mod storage; pub use storage::disk::DiskStorage; pub use storage:: trait 的类型使用 read_to_string 方法,您需要使用 use std::io::Read 引入。 • use 语句可以包含通配符:use std::io::*。但不推荐这种做法,因为不清楚导入了哪些项,并 且这些内容可能会随时间而变化。 26.5 练习:面向 GUI 库的模块 In this exercise, you will reorganize a small GUI Library0 码力 | 359 页 | 1.33 MB | 10 月前3基于 Rust Arrow Flight 的物联网和时序数据传输及转换工具 霍琳贺
高效聚合 高效写入 支持标准 SQL 写入,支持批量写入 支持 Schemaless 写入 支持从 Kafaka, MQTT, OPC, PI System 以及文 件直接导入 数据源导入时,可定义规则引擎 TDengine: 与上下游应用的关系 TDengine = Time-Series Database + Caching + Data Subscription + Avalibility 2022.12 2023.05 2023.09 Usability Functionality taosX - 集群运维 • 数据库复制 • 全量 / 增量备份 • 数据导入 / 导出 • 数据库迁移 • 异地容灾 taosX - 数据接入 Comming Soon taosX - 流式处理 taosX - Transformer • Parse {"parse":0 码力 | 29 页 | 2.26 MB | 1 年前3Rust 语言学习笔记
的根路 径。 1.2.5 Re-exporting 我们可以结合使用 pub use 来实现 Re-exporting。Re-exporting 的字面 意思就是 重新导出。它的意思是这样的,把深层的 item 导出到上层目录中, 使调用的时候,更方便。接口设计中会大量用到这个技术。 还是举上面那个 a::b::c::d 的例子。我们在 main.rs 中,要调用 d, 得使用 use c, b, a 分别都是有效的模块,可单独引用。 1.2.7 prelude Rust 的标准库,有一个 prelude 子模块,这里面包含了默认导入(std 库 是默认导入的,然后 std 库中的 prelude 下面的东西也是默认导入的)的所 有符号。 大体上有下面一些内容: std::marker::{Copy, Send, Sized, Sync} std::ops::{Drop # 这样封装的好处是未来可以对 secure-password 此 feature 增加可选项目。 secure-password = ["bcrypt"] # 此处的 session 字段导入了 cookie 软件包中的 feature 段落中的 session 字段 session = ["cookie/session"] [dependencies] # 必要的依赖 cookie0 码力 | 117 页 | 2.24 MB | 1 年前3新一代分布式高性能图数据库的构建 - 沈游人
强大的测试框架 REPL 命令行客户端 WebUI 面向分析师,提供图模型定义、数据管理、图查询分析、服务状态监控、用户管理能力 免代码,可视化定义实体、 边,设计图模型。 【亮点】 • 支持模型导入导出 • 拖拽式关系构建 • 丰富的样式配置 • 实时图结构预览 • 用户授权管理 • 中文及显示别名支持 图模型设计 WebUI—— 可视化图探索分析 【亮点】 • K 步邻居查询、属性过滤0 码力 | 38 页 | 24.68 MB | 1 年前3Hello 算法 1.1.0 Rust版
数据完整性检查:数据发送方可以计算数据的哈希值并将其一同发送;接收方可以重新计算接收到的 数据的哈希值,并与接收到的哈希值进行比较。如果两者匹配,那么数据就被视为完整。 对于密码学的相关应用,为了防止从哈希值推导出原始密码等逆向工程,哈希算法需要具备更高等级的安全 特性。 ‧ 单向性:无法通过哈希值反推出关于输入数据的任何信息。 第 6 章 哈希表 hello‑algo.com 133 ‧ 抗碰撞性: 的。 7.3.1 表示完美二叉树 先分析一个简单案例。给定一棵完美二叉树,我们将所有节点按照层序遍历的顺序存储在一个数组中,则每 个节点都对应唯一的数组索引。 根据层序遍历的特性,我们可以推导出父节点索引与子节点索引之间的“映射公式”:若某节点的索引为 ? , 则该节点的左子节点索引为 2? + 1 ,右子节点索引为 2? + 2 。图 7‑12 展示了各个节点索引之间的映射关 系。 式,它将一个问题分解为一系列更小的子问题,并 通过存储子问题的解来避免重复计算,从而大幅提升时间效率。 在本节中,我们从一个经典例题入手,先给出它的暴力回溯解法,观察其中包含的重叠子问题,再逐步导出 更高效的动态规划解法。 爬楼梯 给定一个共有 ? 阶的楼梯,你每步可以上 1 阶或者 2 阶,请问有多少种方案可以爬到楼顶? 如图 14‑1 所示,对于一个 3 阶楼梯,共有 3 种方案可以爬到楼顶。0 码力 | 388 页 | 18.50 MB | 1 年前3Hello 算法 1.2.0 简体中文 Rust 版
数据完整性检查:数据发送方可以计算数据的哈希值并将其一同发送;接收方可以重新计算接收到的 数据的哈希值,并与接收到的哈希值进行比较。如果两者匹配,那么数据就被视为完整。 对于密码学的相关应用,为了防止从哈希值推导出原始密码等逆向工程,哈希算法需要具备更高等级的安全 特性。 ‧ 单向性:无法通过哈希值反推出关于输入数据的任何信息。 第 6 章 哈希表 www.hello‑algo.com 133 ‧ 抗 的。 7.3.1 表示完美二叉树 先分析一个简单案例。给定一棵完美二叉树,我们将所有节点按照层序遍历的顺序存储在一个数组中,则每 个节点都对应唯一的数组索引。 根据层序遍历的特性,我们可以推导出父节点索引与子节点索引之间的“映射公式”:若某节点的索引为 ? , 则该节点的左子节点索引为 2? + 1 ,右子节点索引为 2? + 2 。图 7‑12 展示了各个节点索引之间的映射关 系。 第 式,它将一个问题分解为一系列更小的子问题,并 通过存储子问题的解来避免重复计算,从而大幅提升时间效率。 在本节中,我们从一个经典例题入手,先给出它的暴力回溯解法,观察其中包含的重叠子问题,再逐步导出 更高效的动态规划解法。 爬楼梯 给定一个共有 ? 阶的楼梯,你每步可以上 1 阶或者 2 阶,请问有多少种方案可以爬到楼顶? 如图 14‑1 所示,对于一个 3 阶楼梯,共有 3 种方案可以爬到楼顶。0 码力 | 387 页 | 18.51 MB | 10 月前3Hello 算法 1.0.0 Rust版
数据完整性检查:数据发送方可以计算数据的哈希值并将其一同发送;接收方可以重新计算接收到的 数据的哈希值,并与接收到的哈希值进行比较。如果两者匹配,那么数据就被视为完整。 对于密码学的相关应用,为了防止从哈希值推导出原始密码等逆向工程,哈希算法需要具备更高等级的安全 特性。 ‧ 单向性:无法通过哈希值反推出关于输入数据的任何信息。 ‧ 抗碰撞性:应当极难找到两个不同的输入,使得它们的哈希值相同。 ‧ 雪 的。 7.3.1 表示完美二叉树 先分析一个简单案例。给定一棵完美二叉树,我们将所有节点按照层序遍历的顺序存储在一个数组中,则每 个节点都对应唯一的数组索引。 根据层序遍历的特性,我们可以推导出父节点索引与子节点索引之间的“映射公式”:若某节点的索引为 ? , 则该节点的左子节点索引为 2? + 1 ,右子节点索引为 2? + 2 。图 7‑12 展示了各个节点索引之间的映射关 系。 式,它将一个问题分解为一系列更小的子问题,并 通过存储子问题的解来避免重复计算,从而大幅提升时间效率。 在本节中,我们从一个经典例题入手,先给出它的暴力回溯解法,观察其中包含的重叠子问题,再逐步导出 更高效的动态规划解法。 � 爬楼梯 给定一个共有 ? 阶的楼梯,你每步可以上 1 阶或者 2 阶,请问有多少种方案可以爬到楼顶? 如图 14‑1 所示,对于一个 3 阶楼梯,共有 3 种方案可以爬到楼顶。0 码力 | 383 页 | 17.61 MB | 1 年前3WebAssembly 简介 - 陈思衡
对于 Wasm 而言,这块内存是从 0 开始的,而不是 host 所看到的地址。 WebAssembly 机制 memory Wasm 编写的 function 可以通过 “export” 导出给 host 调用。 Host 可以把自己的 function 通过 “import“ 提供给 wasm 调用。 function WebAssembly 简介 Photo / image / image / chart 利用本身 Async 机制 自行实现 Async Runtime Async 的 Wasm • 在 wasm 中把 future 存入固定内存处。 • 导出 poll 函数给 host 调用。 • 把 host function 包装成自定义 Future。 • 实现简单 利用本身 Async 机制 优点 • 方案不通用(wasm 局限于某一种语言)0 码力 | 24 页 | 773.46 KB | 1 年前3
共 11 条
- 1
- 2