Rust 程序设计语言简体中文版
........................................................................................ 43 3.2. 数据类型 .................................................................................................. .................... 72 4.2. 引用与借用 ...................................................................................................................... 84 4.3. Slice 类型 ............................. 定义模块来控制作用域与私有性 .................................................................................. 144 7.3. 引用模块项目的路径 ...........................................................................................0 码力 | 600 页 | 12.99 MB | 1 年前3Rust 程序设计语言 简体中文版 1.85.0
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 3.2. 数据类型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 4.2. 引用与借用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 4.3. Slice 类型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133 7.3. 引用模块树中项的路径 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .0 码力 | 562 页 | 3.23 MB | 10 天前3Rust 语言学习笔记
11 1.2.1 module 的可见性 ................................................................. 11 1.2.2 引用外部文件模块 ................................................................ 11 1.2.3 多文件模块的层级关系 ..... Rust 类型系统.............................................................................. 21 2.4.1 可变性 .............................................................................. 21 2.4.2 原生类型.... ........................................................................ 21 第三章 所有权 引用借用 生命周期 ............................................................... 31 3.1 所有权 ...........................0 码力 | 117 页 | 2.24 MB | 1 年前3Comprehensive Rust(简体中文) 202412
. 23 4.3 Playground . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 5 类型和值 25 5.1 Hello, World . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 5.2 26 5.4 算术 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 5.5 类型推导 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 5.6 练习:Fibonacci . . . . . . . . . . . . . . . . . . . . . 42 9 引用 43 9.1 共享引用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 9.2 独占引用 . . . . . . . . . . . . . . . . . . . . . . . .0 码力 | 359 页 | 1.33 MB | 10 月前3Hello 算法 1.2.0 简体中文 Rust 版
3.1 数据结构分类 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 3.2 基本数据类型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 3.3 数字编码 * . . . . 本书的主要内容如图 0‑1 所示。 ‧ 复杂度分析:数据结构和算法的评价维度与方法。时间复杂度和空间复杂度的推算方法、常见类型、示 例等。 ‧ 数据结构:基本数据类型和数据结构的分类方法。数组、链表、栈、队列、哈希表、树、堆、图等数据 结构的定义、优缺点、常用操作、常见类型、典型应用、实现方法等。 ‧ 算法:搜索、排序、分治、回溯、动态规划、贪心等算法的定义、优缺点、效率、应用场景、解题步骤 免歧义。 ‧ 当涉及编程语言之间不一致的名词时,本书均以 Python 为准,例如使用 None 来表示“空”。 ‧ 本书部分放弃了编程语言的注释规范,以换取更加紧凑的内容排版。注释主要分为三种类型:标题注 释、内容注释、多行注释。 第 0 章 前言 www.hello‑algo.com 5 /* 标题注释,用于标注函数、类、测试样例等 */ // 内容注释,用于详解代码 /** *0 码力 | 387 页 | 18.51 MB | 10 月前3Hello 算法 1.0.0 Rust版
3.1 数据结构分类 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 3.2 基本数据类型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 3.3 数字编码 * . . . . 本书的主要内容如图 0‑1 所示。 ‧ 复杂度分析:数据结构和算法的评价维度与方法。时间复杂度和空间复杂度的推算方法、常见类型、示 例等。 ‧ 数据结构:基本数据类型和数据结构的分类方法。数组、链表、栈、队列、哈希表、树、堆、图等数据 结构的定义、优缺点、常用操作、常见类型、典型应用、实现方法等。 ‧ 算法:搜索、排序、分治、回溯、动态规划、贪心等算法的定义、优缺点、效率、应用场景、解题步骤 加粗,这类文字值得特别关注。 ‧ 当涉及编程语言之间不一致的名词时,本书均以 Python 为准,例如使用 None 来表示“空”。 ‧ 本书部分放弃了编程语言的注释规范,以换取更加紧凑的内容排版。注释主要分为三种类型:标题注 释、内容注释、多行注释。 /* 标题注释,用于标注函数、类、测试样例等 */ // 内容注释,用于详解代码 /** * 多行 第 0 章 前言 hello‑algo.com 50 码力 | 383 页 | 17.61 MB | 1 年前3Hello 算法 1.1.0 Rust版
3.1 数据结构分类 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 3.2 基本数据类型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 3.3 数字编码 * . . . . 本书的主要内容如图 0‑1 所示。 ‧ 复杂度分析:数据结构和算法的评价维度与方法。时间复杂度和空间复杂度的推算方法、常见类型、示 例等。 ‧ 数据结构:基本数据类型和数据结构的分类方法。数组、链表、栈、队列、哈希表、树、堆、图等数据 结构的定义、优缺点、常用操作、常见类型、典型应用、实现方法等。 ‧ 算法:搜索、排序、分治、回溯、动态规划、贪心等算法的定义、优缺点、效率、应用场景、解题步骤 免歧义。 ‧ 当涉及编程语言之间不一致的名词时,本书均以 Python 为准,例如使用 None 来表示“空”。 ‧ 本书部分放弃了编程语言的注释规范,以换取更加紧凑的内容排版。注释主要分为三种类型:标题注 释、内容注释、多行注释。 第 0 章 前言 hello‑algo.com 5 /* 标题注释,用于标注函数、类、测试样例等 */ // 内容注释,用于详解代码 /** * 多行0 码力 | 388 页 | 18.50 MB | 1 年前3Rust语言核心竞争力-庄晓立
确保释放,不遗漏 • 仅释放一次 内存不安全? • 指针越界访问,意外修改别处内存 • 内存被提前释放,形成野指针,非法读写内存 • 野指针又转化为合法指针,意外修改别处内存 • NULL指针解引用,非法操作 • 并发读写同一内存地址,数据竞争 • 缓冲区溢出、段错误…… ……等等许多危险操作,在C语言里触目惊心 Move by default struct Value { x: thread::spawn(move|| { tx.send(i).unwrap(); }); } 默认是Move,除非类型实现了Copy接口(POD) tx(类型是Sender)被move到新的线程; i(类型是i32)被copy到新的线程(逐字节拷贝)。 Ownership(所有权) Owns Owns 所有权转移 Move, Transfer Ownership &mut T &T Owners Clients 好借好还再借不难 我死之前必须还我 Lifetime • Lifetime('a)修饰Reference,是引用的属性 • 限制Reference的生效范围,避免无效引用 fn get<'a>(&'a self) -> &'a i32 { &self.x } struct Foo<'a, T: 'a> { x: &'a T, }0 码力 | 51 页 | 1.09 MB | 1 年前3简谈 Rust 与国密 TLS - 王江桐
html 国密套件总览 List of Shangmi Cryptography Rust China Conf 2022 – 2023, Shanghai, China 算法 算法标准 功能 类型 安全位数 (bit) 对应算法 是否公开 应用 Sm1 / 分组加解密 对称加 密 128 AES128 否,仅以 IP 核的形 式存在于芯片中 智能 IC 卡、智能密码钥匙、加 密卡、加密机等 6.3,统计 2020 – 2023 近四年的 OpenSSL 相关安全漏 洞: • 内存安全问题包括解引用空指针、缓冲区溢出、内存损坏,占总问题 的 43.2%,High 及 Critical 问题的 46.7%。 Low Medium High Critical Total 解引用空指针 0 6 1 0 7 协议漏洞 1 0 0 0 1 实现逻辑错误 7 5 4 1 17 计算溢出 Advantages in Programming in Rust Rust China Conf 2022 – 2023, Shanghai, China 类型安全 内存安全 并发安全 静态类型 类型大小 类型推导 强类型 借用检查 智能指针 && RAII 生命周期 所有权系统 Channel 共享状态 所有权 Send && Sync Trait 编译器静态检查0 码力 | 44 页 | 3.70 MB | 1 年前3Hello 算法 1.2.0 繁体中文 Rust 版
都是一個節點物件,各個節點透過“引用”相 連線。引用記錄了下一個節點的記憶體位址,透過它可以從當前節點訪問到下一個節點。 鏈結串列的設計使得各個節點可以分散儲存在記憶體各處,它們的記憶體位址無須連續。 圖 4‑5 鏈結串列定義與儲存方式 觀察圖 4‑5 ,鏈結串列的組成單位是節點(node)物件。每個節點都包含兩項資料:節點的“值”和指向下 一節點的“引用”。 ‧ 鏈結串列的首個節點被 和 Python 中分別被記為 null、nullptr 和 None 。 ‧ 在 C、C++、Go 和 Rust 等支持指標的語言中,上述“引用”應被替換為“指標”。 如以下程式碼所示,鏈結串列節點 ListNode 除了包含值,還需額外儲存一個引用(指標)。因此在相同資料 量下,鏈結串列比陣列佔用更多的記憶體空間。 use std::rc::Rc; use std::cell::RefCell; // 指向下一節點的指標 } 4.2.1 鏈結串列常用操作 1. 初始化鏈結串列 建立鏈結串列分為兩步,第一步是初始化各個節點物件,第二步是構建節點之間的引用關係。初始化完成後, 我們就可以從鏈結串列的頭節點出發,透過引用指向 next 依次訪問所有節點。 第 4 章 陣列與鏈結串列 www.hello‑algo.com 74 // === File: linked_list.rs0 码力 | 388 页 | 18.82 MB | 10 月前3
共 26 条
- 1
- 2
- 3