Rust 程序设计语言简体中文版....................... 115 6. 枚举和模式匹配 ................................................................................................................... 122 6.1. 枚举的定义 ............................ 先阅读专门介绍程序设计的书籍。 如何阅读本书 本书大体上假设您按从头到尾的顺序阅读。后面的章节建立在前面章节概念的基础上。前面的 章节可能不会深入介绍部分主题,而是留待后续章节重新讨论。 本书分为两类章节:概念章节和项目章节。在概念章节中,我们学习 Rust 的某个方面。在项 目章节中,我们应用目前所学的知识一同构建小型程序。第 2、12 和 20 章是项目章节;其余 都是概念章节。 第 1 章介绍如何安装 章,直接阅读第 3 章,等到你想要通过项目应用所学到的 细节时再回到第 2 章。 第 5 章讨论结构体(struct)和方法,第 6 章介绍枚举(enum)、match 表达式和 if let 控 制流结构。在 Rust 中,创建自定义类型需要用到结构体和枚举。 第 7 章介绍 Rust 的模块(module)系统,其中的私有性规则用来组织代码和公开的 API(应 用程序接口)。第 8 章讨论标准库提供的常见集合数据结构,例如0 码力 | 600 页 | 12.99 MB | 1 年前3
Rust 程序设计语言 简体中文版 1.85.0. . . . 109 6. 枚举和模式匹配 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114 6.1. 枚举的定义 . . . . . . 阅读专门介绍程序设计的书籍。 如何阅读本书 本书大体上假设你按从头到尾的顺序阅读。后面的章节建立在前面章节概念的基础上。前面的 章节可能不会深入介绍部分主题,而是留待后续章节重新讨论。 本书分为两类章节:概念章节和项目章节。在概念章节中,我们学习 Rust 的某个方面。在项 目章节中,我们应用目前所学的知识一同构建小型程序。第二、十二和二十一章是项目章节; 其余都是概念章节。 第一章介绍如何安装 个细节,你可能会想要跳过第二章,直接阅读第三章,等到你想要通过项目应用所学到的细节 时再回到第二章。 第五章讨论结构体(struct)和方法,第六章介绍枚举(enum)、match 表达式和 if let 控 制流结构。在 Rust 中,创建自定义类型需要用到结构体和枚举。 第七章介绍 Rust 的模块(module)系统,其中的私有性规则用来组织代码和公开的 API(应 用程序接口)。第八章讨论标准库提供的常见集合数据结构,例如0 码力 | 562 页 | 3.23 MB | 25 天前3
Rust 语言学习笔记的通用控制结构。和 C 和 C++ 风格的编程语言一样,代码段放在花括号中。 Rust 使用实现(implementation)、特征(trait)和结构化类型 (structured type)而不是类(class)。这点,与基于继承的 OO 语言 C++, Java 有相当大的差异。而跟 Ocaml, Haskell 这类函数式语言更加接近。 Rust 做到了内存安全而无需 .NET 和 Java is_she_love_me = false; let mut is_he_love_me: bool = true; 当然,bool 类型被用的最多的地方就是在 if 表达式里了 2.4.2.2 数字类型 和其他类 C 系的语言不一样,Rust 用一种符号+位数的方式来表示其基本的数 字类型。 可用的符号有 i、f、u 可用的位数,都是 2 的 n 次幂,分别为 8、16、32、64 及 size。 因为浮点类型最少只能用 fn foo(x: i32) -> i32 { x+1 } let x: fn(i32) -> i32 = foo; assert_eq!(11, x(10)); 2.4.2.8 枚举类型 struct Student{ name: String, } enum Message{ School(String), Location{x:i320 码力 | 117 页 | 2.24 MB | 1 年前3
Comprehensive Rust(简体中文) 20241248 10.2 元组结构体 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 10.3 枚举 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 10.4 static . 212 37.2.5 共享类型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213 37.2.6 共享枚举 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214 37.2.7 Rust 错误处理 . . . . 的第一天。我们会涉及很多内容: • Rust 基本语法:变量、标量(scalar)和复合(compound)类型、枚举(Enum)、结构体(struct)、引 用、函数和方法。 • Types and type inference. • 控制流结构:循环、条件语句等。 • 用户定义的类型:结构体和枚举。 • 模式匹配:解构枚举、结构体和数组(array)。 时间表 Including 10 minute breaks0 码力 | 359 页 | 1.33 MB | 10 月前3
Hello 算法 1.2.0 简体中文 Rust 版本书部分放弃了编程语言的注释规范,以换取更加紧凑的内容排版。注释主要分为三种类型:标题注 释、内容注释、多行注释。 第 0 章 前言 www.hello‑algo.com 5 /* 标题注释,用于标注函数、类、测试样例等 */ // 内容注释,用于详解代码 /** * 多行 * 注释 */ 0.2.2 在动画图解中高效学习 相较于文字,视频和图片具有更高的信息密度和结构化程度,更易于理解。在本书中,重点和难点知识将主 调用它的对象,能够对类的实例中包含的数据进行操作。 下面以几种常见的编程语言为例来说明。 ‧ C 语言是过程式编程语言,没有面向对象的概念,所以只有函数。但我们可以通过创建结构体(struct) 来模拟面向对象编程,与结构体相关联的函数就相当于其他编程语言中的方法。 ‧ Java 和 C# 是面向对象的编程语言,代码块(方法)通常作为某个类的一部分。静态方法的行为类似于 函数,因为它被绑定在类上,不能访问特定的实例变量。 65 更大的数组,并将旧数组的内容复制到新数组中。 Q:在构建栈(队列)的时候,未指定它的大小,为什么它们是“静态数据结构”呢? 在高级编程语言中,我们无须人工指定栈(队列)的初始容量,这个工作由类内部自动完成。例如,Java 的 ArrayList 的初始容量通常为 10。另外,扩容操作也是自动实现的。详见后续的“列表”章节。 Q:原码转补码的方法是“先取反后加 1”,那么补码转原码应该是逆运算“先减0 码力 | 387 页 | 18.51 MB | 10 月前3
Hello 算法 1.1.0 Rust版本书部分放弃了编程语言的注释规范,以换取更加紧凑的内容排版。注释主要分为三种类型:标题注 释、内容注释、多行注释。 第 0 章 前言 hello‑algo.com 5 /* 标题注释,用于标注函数、类、测试样例等 */ // 内容注释,用于详解代码 /** * 多行 * 注释 */ 0.2.2 在动画图解中高效学习 相较于文字,视频和图片具有更高的信息密度和结构化程度,更易于理解。在本书中,重点和难点知识将主 调用它的对象,能够对类的实例中包含的数据进行操作。 下面以几种常见的编程语言为例来说明。 ‧ C 语言是过程式编程语言,没有面向对象的概念,所以只有函数。但我们可以通过创建结构体(struct) 来模拟面向对象编程,与结构体相关联的函数就相当于其他编程语言中的方法。 ‧ Java 和 C# 是面向对象的编程语言,代码块(方法)通常作为某个类的一部分。静态方法的行为类似于 函数,因为它被绑定在类上,不能访问特定的实例变量。 65 更大的数组,并将旧数组的内容复制到新数组中。 Q:在构建栈(队列)的时候,未指定它的大小,为什么它们是“静态数据结构”呢? 在高级编程语言中,我们无须人工指定栈(队列)的初始容量,这个工作由类内部自动完成。例如,Java 的 ArrayList 的初始容量通常为 10。另外,扩容操作也是自动实现的。详见后续的“列表”章节。 Q:原码转补码的方法是“先取反后加 1”,那么补码转原码应该是逆运算“先减0 码力 | 388 页 | 18.50 MB | 1 年前3
Hello 算法 1.0.0 Rust版为准,例如使用 None 来表示“空”。 ‧ 本书部分放弃了编程语言的注释规范,以换取更加紧凑的内容排版。注释主要分为三种类型:标题注 释、内容注释、多行注释。 /* 标题注释,用于标注函数、类、测试样例等 */ // 内容注释,用于详解代码 /** * 多行 第 0 章 前言 hello‑algo.com 5 * 注释 */ 0.2.2 在动画图解中高效学习 相较于文字,视 ?(?) 。 Q:函数和方法这两个术语的区别是什么? 「函数 function」可以被独立执行,所有参数都以显式传递。「方法 method」与一个对象关联,被隐式传递 给调用它的对象,能够对类的实例中包含的数据进行操作。 下面以几种常见的编程语言为例来说明。 ‧ C 语言是过程式编程语言,没有面向对象的概念,所以只有函数。但我们可以通过创建结构体(struct) 来模拟面向对象编程, 来模拟面向对象编程,与结构体相关联的函数就相当于其他编程语言中的方法。 第 2 章 复杂度分析 hello‑algo.com 50 ‧ Java 和 C# 是面向对象的编程语言,代码块(方法)通常作为某个类的一部分。静态方法的行为类似于 函数,因为它被绑定在类上,不能访问特定的实例变量。 ‧ C++ 和 Python 既支持过程式编程(函数),也支持面向对象编程(方法)。 Q:图解“常见的空间复杂度类型”反映的是否是占用空间的绝对大小?0 码力 | 383 页 | 17.61 MB | 1 年前3
刘用涛 CnosDB时序数据库的Rust实践Complex 0 Discriminator(0) Discriminator(1) Discriminator(2) 8 i64 f64 f64 16 f64 Rust 中的枚举与 C 语言中的联合体 类似,如左图所示的枚举代码,实际 大小为16字节加8个字节的鉴别器, 总共24字节。 3.2 流式处理 3.2 流式处理 3.3 Rust 的锁 2. 异步死锁检测 https://github0 码力 | 26 页 | 3.28 MB | 1 年前3
简谈 Rust 与国密 TLS - 王江桐AES128,但 是更多次轮询 是 TLCP、消息加解密,用于替代 DES/AES 等国际算法 Sm7 / 分组加解密 分组加 密 128 否,仅以 IP 核的形 式存在于芯片中 卡证类、票务类、支付与通卡类 应用 Sm9 GM/T 0044-2016 ISO/IEC 10118-3:2018 标识密码算法:签名 校验,密钥交换,密 钥封装与加解密 非对称 加密 128 是 TLCP,适用于新兴应用的安全保 • SM7 为分组加密算法,对称加密,分组长度为128比特,密钥长度为128比特。 • 保证信息机密性。 • 该算法不公开,应用包括身份识别类应用(非接触式 IC 卡、门禁卡、工作证、参赛证 等),票务类应用(大型赛事门票、展会门票等),支付与通卡类应用(积分消费卡、校 园一卡通、企业一卡通等)。 SM9 Introduction of SM9 Rust China Conf 2022 –0 码力 | 44 页 | 3.70 MB | 1 年前3
新一代分布式高性能图数据库的构建 - 沈游人据的表示学习模型、语义推荐和风险管理关键技术,构建了完整的兼具理论指导与应用检 验的大规模图数据智能分析系统与平台,满足了大数据时代从复杂异质图数据中进行知识 发现的重要需求。最终获得国内外授权发明专利 43 项, CCF -A 类论文 51 篇,获得 2 次国际竞赛冠军,参与了 2 项图计算相关标准制定。 AtlasGraph 架构及实现 图技术简介 Takeway “ 世界是复杂关系的总和”—— 一张典型的知识图谱 将高维的图信息映射到低维向量中 • 通过图嵌入将客户关系表示为低维向量,可以结合其 他客户行为特征进行机器学习训练 图卷积神经网络 • 对图结构数据进行卷积计算 • 通过已有的企业数据,通过 GCN 进行半监督学习和分 类,预测企业的违约概率 传统的关系型数据库的存储方式丢失了事物之间的关系信息 Relational Table Real World Multi-Context is Preserved with 基于 Rust 开发的分布式存储引 擎及图计算引擎,精细的内存 管理设计,内置索引系统,支 持毫秒级的并发查询响应速度 易用 AQL(Atlas Graph Query Language) ,类 SQL 的图查询 语言,内置上百种分析函数, 面向分析师友好,拥抱标准, 基于 openCypher 向 ISO GQL 迈进 实时大图 支持万亿节点存储及流式计算 引擎的结合,最新数据实时入0 码力 | 38 页 | 24.68 MB | 1 年前3
共 14 条
- 1
- 2













