 Rust 程序设计语言简体中文版..................................................................................... 115 6. 枚举和模式匹配 .................................................................................................. .................................................................................... 446 18. 模式与模式匹配 .................................................................................................. ............................................................... 463 18.2. Refutability(可反驳性): 模式是否会匹配失效 ...................................................... 468 18.3. 模式语法 ..........................0 码力 | 600 页 | 12.99 MB | 1 年前3 Rust 程序设计语言简体中文版..................................................................................... 115 6. 枚举和模式匹配 .................................................................................................. .................................................................................... 446 18. 模式与模式匹配 .................................................................................................. ............................................................... 463 18.2. Refutability(可反驳性): 模式是否会匹配失效 ...................................................... 468 18.3. 模式语法 ..........................0 码力 | 600 页 | 12.99 MB | 1 年前3
 Rust 程序设计语言 简体中文版 1.85.0. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 6. 枚举和模式匹配 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 434 19. 模式与模式匹配 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 446 19.2. Refutability(可反驳性): 模式是否会匹配失效 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 451 19.3. 模式语法 . . . . . .0 码力 | 562 页 | 3.23 MB | 25 天前3 Rust 程序设计语言 简体中文版 1.85.0. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 6. 枚举和模式匹配 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 434 19. 模式与模式匹配 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 446 19.2. Refutability(可反驳性): 模式是否会匹配失效 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 451 19.3. 模式语法 . . . . . .0 码力 | 562 页 | 3.23 MB | 25 天前3
 Comprehensive Rust(简体中文) 202412. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 III 第二天:上午 56 11 欢迎来到第二天 57 12 模式匹配 58 12.1 Matching Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 12.2 minutes • Day 2 Morning (2 hours and 55 minutes, including breaks) Segment Duration 欢迎 3 minutes 模式匹配 1 hour 方法和特征 50 minutes 泛型 40 minutes • Day 2 Afternoon (3 hours and 10 minutes, including breaks) (Enum)、结构体(struct)、引 用、函数和方法。 • Types and type inference. • 控制流结构:循环、条件语句等。 • 用户定义的类型:结构体和枚举。 • 模式匹配:解构枚举、结构体和数组(array)。 时间表 Including 10 minute breaks, this session should take about 2 hours and 50 码力 | 359 页 | 1.33 MB | 10 月前3 Comprehensive Rust(简体中文) 202412. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 III 第二天:上午 56 11 欢迎来到第二天 57 12 模式匹配 58 12.1 Matching Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 12.2 minutes • Day 2 Morning (2 hours and 55 minutes, including breaks) Segment Duration 欢迎 3 minutes 模式匹配 1 hour 方法和特征 50 minutes 泛型 40 minutes • Day 2 Afternoon (3 hours and 10 minutes, including breaks) (Enum)、结构体(struct)、引 用、函数和方法。 • Types and type inference. • 控制流结构:循环、条件语句等。 • 用户定义的类型:结构体和枚举。 • 模式匹配:解构枚举、结构体和数组(array)。 时间表 Including 10 minute breaks, this session should take about 2 hours and 50 码力 | 359 页 | 1.33 MB | 10 月前3
 Rust 语言学习笔记10.1 Result 与错误处理 ..................................................................... 112 10.1.1 匹配不同的错误 ............................................................... 113 10.1.2 unwrap 与 expect 需要说明的是 if 中条件判断必须是 bool 类型,不能写出 if 5 这种判断条件。 2.2.2 match 语句 Rust 中没有类似于 C 的 switch 关键字,但它有用于模式匹配的 match, 能实现同样的功能,并且强大太多。 match 的使用非常简单,举例如下: let x = 5; match x { 1 => { println println!("{}", y); // 这里输出为:5 } if let 实际上是一个 match 的简化用法。设计这个特性的目的是,在条件判 断的时候,直接做一次模式匹配,方便代码书写,使代码更紧凑。 2.3 循环表达式 2.3.1 for 循环 Rust 的 for 循环实际上和 C 语言的循环语句是不同的。这是为什么呢?因为, for 循环不过是 Rust0 码力 | 117 页 | 2.24 MB | 1 年前3 Rust 语言学习笔记10.1 Result 与错误处理 ..................................................................... 112 10.1.1 匹配不同的错误 ............................................................... 113 10.1.2 unwrap 与 expect 需要说明的是 if 中条件判断必须是 bool 类型,不能写出 if 5 这种判断条件。 2.2.2 match 语句 Rust 中没有类似于 C 的 switch 关键字,但它有用于模式匹配的 match, 能实现同样的功能,并且强大太多。 match 的使用非常简单,举例如下: let x = 5; match x { 1 => { println println!("{}", y); // 这里输出为:5 } if let 实际上是一个 match 的简化用法。设计这个特性的目的是,在条件判 断的时候,直接做一次模式匹配,方便代码书写,使代码更紧凑。 2.3 循环表达式 2.3.1 for 循环 Rust 的 for 循环实际上和 C 语言的循环语句是不同的。这是为什么呢?因为, for 循环不过是 Rust0 码力 | 117 页 | 2.24 MB | 1 年前3
 Hello 算法 1.2.0 繁体中文 Rust 版nums[i]; } // 直接走訪陣列元素 for num in nums { _count += num; } } 6. 查詢元素 在陣列中查詢指定元素需要走訪陣列,每輪判斷元素值是否匹配,若匹配則輸出對應索引。 因為陣列是線性資料結構,所以上述查詢操作被稱為“線性查詢”。 // === File: array.rs === /* 在陣列中查詢指定元素 */ fn find(nums: 存密碼的雜 湊值。當用戶輸入密碼時,系統會對輸入的密碼計算雜湊值,然後與儲存的雜湊值進行比較。如果兩者 匹配,那麼密碼就被視為正確。 ‧ 資料完整性檢查:資料傳送方可以計算資料的雜湊值並將其一同傳送;接收方可以重新計算接收到的 資料的雜湊值,並與接收到的雜湊值進行比較。如果兩者匹配,那麼資料就被視為完整。 對於密碼學的相關應用,為了防止從雜湊值推導出原始密碼等逆向工程,雜湊演算法需要具備更高等級的安 被新元素使用。這樣做既能保持雜湊表的探測序列不變,又能保證雜湊表的空間使用率。 Q:為什麼線上性探查中,查詢元素的時候會出現雜湊衝突呢? 查詢的時候透過雜湊函式找到對應的桶和鍵值對,發現 key 不匹配,這就代表有雜湊衝突。因此,線性探查 法會根據預先設定的步長依次向下查詢,直至找到正確的鍵值對或無法找到跳出為止。 Q:為什麼雜湊表擴容能夠緩解雜湊衝突? 雜湊函式的最後一步往往是對陣列長度0 码力 | 388 页 | 18.82 MB | 10 月前3 Hello 算法 1.2.0 繁体中文 Rust 版nums[i]; } // 直接走訪陣列元素 for num in nums { _count += num; } } 6. 查詢元素 在陣列中查詢指定元素需要走訪陣列,每輪判斷元素值是否匹配,若匹配則輸出對應索引。 因為陣列是線性資料結構,所以上述查詢操作被稱為“線性查詢”。 // === File: array.rs === /* 在陣列中查詢指定元素 */ fn find(nums: 存密碼的雜 湊值。當用戶輸入密碼時,系統會對輸入的密碼計算雜湊值,然後與儲存的雜湊值進行比較。如果兩者 匹配,那麼密碼就被視為正確。 ‧ 資料完整性檢查:資料傳送方可以計算資料的雜湊值並將其一同傳送;接收方可以重新計算接收到的 資料的雜湊值,並與接收到的雜湊值進行比較。如果兩者匹配,那麼資料就被視為完整。 對於密碼學的相關應用,為了防止從雜湊值推導出原始密碼等逆向工程,雜湊演算法需要具備更高等級的安 被新元素使用。這樣做既能保持雜湊表的探測序列不變,又能保證雜湊表的空間使用率。 Q:為什麼線上性探查中,查詢元素的時候會出現雜湊衝突呢? 查詢的時候透過雜湊函式找到對應的桶和鍵值對,發現 key 不匹配,這就代表有雜湊衝突。因此,線性探查 法會根據預先設定的步長依次向下查詢,直至找到正確的鍵值對或無法找到跳出為止。 Q:為什麼雜湊表擴容能夠緩解雜湊衝突? 雜湊函式的最後一步往往是對陣列長度0 码力 | 388 页 | 18.82 MB | 10 月前3
 Hello 算法 1.1.0 Rust版nums[i]; } // 直接遍历数组元素 for num in nums { _count += num; } } 6. 查找元素 在数组中查找指定元素需要遍历数组,每轮判断元素值是否匹配,若匹配则输出对应索引。 因为数组是线性数据结构,所以上述查找操作被称为“线性查找”。 // === File: array.rs === /* 在数组中查找指定元素 */ fn find(nums: 行比较。如果两者匹 配,那么密码就被视为正确。 ‧ 数据完整性检查:数据发送方可以计算数据的哈希值并将其一同发送;接收方可以重新计算接收到的 数据的哈希值,并与接收到的哈希值进行比较。如果两者匹配,那么数据就被视为完整。 对于密码学的相关应用,为了防止从哈希值推导出原始密码等逆向工程,哈希算法需要具备更高等级的安全 特性。 ‧ 单向性:无法通过哈希值反推出关于输入数据的任何信息。 第 被新元素使用。这样做既能保持哈希表的探测序列不变,又能保证哈希表的空间使用率。 Q:为什么在线性探测中,查找元素的时候会出现哈希冲突呢? 查找的时候通过哈希函数找到对应的桶和键值对,发现 key 不匹配,这就代表有哈希冲突。因此,线性探测 法会根据预先设定的步长依次向下查找,直至找到正确的键值对或无法找到跳出为止。 Q:为什么哈希表扩容能够缓解哈希冲突? 哈希函数的最后一步往往是对数组长度0 码力 | 388 页 | 18.50 MB | 1 年前3 Hello 算法 1.1.0 Rust版nums[i]; } // 直接遍历数组元素 for num in nums { _count += num; } } 6. 查找元素 在数组中查找指定元素需要遍历数组,每轮判断元素值是否匹配,若匹配则输出对应索引。 因为数组是线性数据结构,所以上述查找操作被称为“线性查找”。 // === File: array.rs === /* 在数组中查找指定元素 */ fn find(nums: 行比较。如果两者匹 配,那么密码就被视为正确。 ‧ 数据完整性检查:数据发送方可以计算数据的哈希值并将其一同发送;接收方可以重新计算接收到的 数据的哈希值,并与接收到的哈希值进行比较。如果两者匹配,那么数据就被视为完整。 对于密码学的相关应用,为了防止从哈希值推导出原始密码等逆向工程,哈希算法需要具备更高等级的安全 特性。 ‧ 单向性:无法通过哈希值反推出关于输入数据的任何信息。 第 被新元素使用。这样做既能保持哈希表的探测序列不变,又能保证哈希表的空间使用率。 Q:为什么在线性探测中,查找元素的时候会出现哈希冲突呢? 查找的时候通过哈希函数找到对应的桶和键值对,发现 key 不匹配,这就代表有哈希冲突。因此,线性探测 法会根据预先设定的步长依次向下查找,直至找到正确的键值对或无法找到跳出为止。 Q:为什么哈希表扩容能够缓解哈希冲突? 哈希函数的最后一步往往是对数组长度0 码力 | 388 页 | 18.50 MB | 1 年前3
 Hello 算法 1.2.0 简体中文 Rust 版nums[i]; } // 直接遍历数组元素 for num in nums { _count += num; } } 6. 查找元素 在数组中查找指定元素需要遍历数组,每轮判断元素值是否匹配,若匹配则输出对应索引。 因为数组是线性数据结构,所以上述查找操作被称为“线性查找”。 // === File: array.rs === /* 在数组中查找指定元素 */ fn find(nums: 行比较。如果两者匹 配,那么密码就被视为正确。 ‧ 数据完整性检查:数据发送方可以计算数据的哈希值并将其一同发送;接收方可以重新计算接收到的 数据的哈希值,并与接收到的哈希值进行比较。如果两者匹配,那么数据就被视为完整。 对于密码学的相关应用,为了防止从哈希值推导出原始密码等逆向工程,哈希算法需要具备更高等级的安全 特性。 ‧ 单向性:无法通过哈希值反推出关于输入数据的任何信息。 第 被新元素使用。这样做既能保持哈希表的探测序列不变,又能保证哈希表的空间使用率。 Q:为什么在线性探测中,查找元素的时候会出现哈希冲突呢? 查找的时候通过哈希函数找到对应的桶和键值对,发现 key 不匹配,这就代表有哈希冲突。因此,线性探测 法会根据预先设定的步长依次向下查找,直至找到正确的键值对或无法找到跳出为止。 Q:为什么哈希表扩容能够缓解哈希冲突? 哈希函数的最后一步往往是对数组长度0 码力 | 387 页 | 18.51 MB | 10 月前3 Hello 算法 1.2.0 简体中文 Rust 版nums[i]; } // 直接遍历数组元素 for num in nums { _count += num; } } 6. 查找元素 在数组中查找指定元素需要遍历数组,每轮判断元素值是否匹配,若匹配则输出对应索引。 因为数组是线性数据结构,所以上述查找操作被称为“线性查找”。 // === File: array.rs === /* 在数组中查找指定元素 */ fn find(nums: 行比较。如果两者匹 配,那么密码就被视为正确。 ‧ 数据完整性检查:数据发送方可以计算数据的哈希值并将其一同发送;接收方可以重新计算接收到的 数据的哈希值,并与接收到的哈希值进行比较。如果两者匹配,那么数据就被视为完整。 对于密码学的相关应用,为了防止从哈希值推导出原始密码等逆向工程,哈希算法需要具备更高等级的安全 特性。 ‧ 单向性:无法通过哈希值反推出关于输入数据的任何信息。 第 被新元素使用。这样做既能保持哈希表的探测序列不变,又能保证哈希表的空间使用率。 Q:为什么在线性探测中,查找元素的时候会出现哈希冲突呢? 查找的时候通过哈希函数找到对应的桶和键值对,发现 key 不匹配,这就代表有哈希冲突。因此,线性探测 法会根据预先设定的步长依次向下查找,直至找到正确的键值对或无法找到跳出为止。 Q:为什么哈希表扩容能够缓解哈希冲突? 哈希函数的最后一步往往是对数组长度0 码力 | 387 页 | 18.51 MB | 10 月前3
 Hello 算法 1.0.0 Rust版nums[i]; } // 直接遍历数组元素 for num in nums { _count += num; } } 6. 查找元素 在数组中查找指定元素需要遍历数组,每轮判断元素值是否匹配,若匹配则输出对应索引。 因为数组是线性数据结构,所以上述查找操作被称为“线性查找”。 // === File: array.rs === /* 在数组中查找指定元素 */ fn find(nums: 行比较。如果两者匹 配,那么密码就被视为正确。 ‧ 数据完整性检查:数据发送方可以计算数据的哈希值并将其一同发送;接收方可以重新计算接收到的 数据的哈希值,并与接收到的哈希值进行比较。如果两者匹配,那么数据就被视为完整。 对于密码学的相关应用,为了防止从哈希值推导出原始密码等逆向工程,哈希算法需要具备更高等级的安全 特性。 ‧ 单向性:无法通过哈希值反推出关于输入数据的任何信息。 ‧ 被新元素使用。这样做既能保持哈希表的探测序列不变,又能保证哈希表的空间使用率。 Q:为什么在线性探测中,查找元素的时候会出现哈希冲突呢? 查找的时候通过哈希函数找到对应的桶和键值对,发现 key 不匹配,这就代表有哈希冲突。因此,线性探测 法会根据预先设定的步长依次向下查找,直至找到正确的键值对或无法找到跳出为止。 Q:为什么哈希表扩容能够缓解哈希冲突? 哈希函数的最后一步往往是对数组长度0 码力 | 383 页 | 17.61 MB | 1 年前3 Hello 算法 1.0.0 Rust版nums[i]; } // 直接遍历数组元素 for num in nums { _count += num; } } 6. 查找元素 在数组中查找指定元素需要遍历数组,每轮判断元素值是否匹配,若匹配则输出对应索引。 因为数组是线性数据结构,所以上述查找操作被称为“线性查找”。 // === File: array.rs === /* 在数组中查找指定元素 */ fn find(nums: 行比较。如果两者匹 配,那么密码就被视为正确。 ‧ 数据完整性检查:数据发送方可以计算数据的哈希值并将其一同发送;接收方可以重新计算接收到的 数据的哈希值,并与接收到的哈希值进行比较。如果两者匹配,那么数据就被视为完整。 对于密码学的相关应用,为了防止从哈希值推导出原始密码等逆向工程,哈希算法需要具备更高等级的安全 特性。 ‧ 单向性:无法通过哈希值反推出关于输入数据的任何信息。 ‧ 被新元素使用。这样做既能保持哈希表的探测序列不变,又能保证哈希表的空间使用率。 Q:为什么在线性探测中,查找元素的时候会出现哈希冲突呢? 查找的时候通过哈希函数找到对应的桶和键值对,发现 key 不匹配,这就代表有哈希冲突。因此,线性探测 法会根据预先设定的步长依次向下查找,直至找到正确的键值对或无法找到跳出为止。 Q:为什么哈希表扩容能够缓解哈希冲突? 哈希函数的最后一步往往是对数组长度0 码力 | 383 页 | 17.61 MB | 1 年前3
 使用Rust与ClickHouse构建高效可靠的日志系统• Aggregation operators • Vector 的计算 • 报警使用 • Binary operator • >, == … • Vector matching • 匹配两个Vector 存储层 • WAL • 移植LevelDB的 WAL • 定长的 Block • Batch 写入 ClickHouse • Flush Worker • 异步任务定时刷新0 码力 | 19 页 | 2.66 MB | 1 年前3 使用Rust与ClickHouse构建高效可靠的日志系统• Aggregation operators • Vector 的计算 • 报警使用 • Binary operator • >, == … • Vector matching • 匹配两个Vector 存储层 • WAL • 移植LevelDB的 WAL • 定长的 Block • Batch 写入 ClickHouse • Flush Worker • 异步任务定时刷新0 码力 | 19 页 | 2.66 MB | 1 年前3
 新一代分布式高性能图数据库的构建 - 沈游人实时图结构预览 • 用户授权管理 • 中文及显示别名支持 图模型设计 WebUI—— 可视化图探索分析 【亮点】 • K 步邻居查询、属性过滤 • 最短路径、全路径分析 • 按实体、边类型匹配查询 • 子图识别、环路识别等在 线图挖掘分析 • 实体、边可视化统计分析 • 树、层次、分组等多种布 局方式 • 基于 D3 自研的万级别实 体展现 可视化图探索分析 AtlasGraph0 码力 | 38 页 | 24.68 MB | 1 年前3 新一代分布式高性能图数据库的构建 - 沈游人实时图结构预览 • 用户授权管理 • 中文及显示别名支持 图模型设计 WebUI—— 可视化图探索分析 【亮点】 • K 步邻居查询、属性过滤 • 最短路径、全路径分析 • 按实体、边类型匹配查询 • 子图识别、环路识别等在 线图挖掘分析 • 实体、边可视化统计分析 • 树、层次、分组等多种布 局方式 • 基于 D3 自研的万级别实 体展现 可视化图探索分析 AtlasGraph0 码力 | 38 页 | 24.68 MB | 1 年前3
共 11 条
- 1
- 2













