07 2025 档案

摘要:错误处理 Rust 将错误组合成两个主要类别:可恢复错误(recoverable)和 不可恢复错误(unrecoverable)。可恢复错误通常代表向用户报告错误和重试操作是合理的情况,比如未找到文件。不可恢复错误通常是 bug 的同义词,比如尝试访问超过数组结尾的位置。 大部分语言并不区分这两类错 阅读全文
posted @ 2025-07-31 11:27 carol2014 阅读(16) 评论(0) 推荐(0)
摘要:模式和匹配 模式是 Rust 中特殊的语法,它用来匹配类型中的结构,无论类型是简单还是复杂。结合使用模式和 match 表达式以及其他结构可以提供更多对程序控制流的支配权。模式由如下一些内容组合而成: 字面量 解构的数组、枚举、结构体或者元组 变量 通配符 占位符 所有可能会用到模式的位置 matc 阅读全文
posted @ 2025-07-31 10:31 carol2014 阅读(26) 评论(0) 推荐(0)
摘要:智能指针 指针(pointer)是一个包含内存地址的变量。这个地址引用指向一些其他数据。Rust 中最常见的指针是引用,引用以 & 符号为标志并借用了它们所指向的值,除了引用数据外没有任何其他特殊功能,它们也没有任何额外开销,所以应用得最多。 智能指针(smart pointers)是一类数据结构, 阅读全文
posted @ 2025-07-30 15:21 carol2014 阅读(61) 评论(0) 推荐(0)
摘要:闭包和迭代器 闭包 闭包是可以捕获环境的匿名函数。Rust 的闭包(closures)是可以保存进变量或作为参数传递给其他函数的匿名函数。可以在一个地方创建闭包,然后在不同的上下文中执行闭包运算。不同于函数,闭包允许捕获调用者作用域中的值。 声明时使用 || 替代 () 将输入参数括起来。 函数体定 阅读全文
posted @ 2025-07-29 17:20 carol2014 阅读(32) 评论(0) 推荐(0)
摘要:类型系统 原生类型的显式类型转换 Rust 不提供原生类型之间的隐式类型转换,但可以使用 as 关键字进行显式类型转换(casting)。 // 不显示类型转换产生的溢出警告。 #![allow(overflowing_literals)] fn main() { let decimal = 65. 阅读全文
posted @ 2025-07-29 15:59 carol2014 阅读(11) 评论(0) 推荐(0)
摘要:crate 和 package crate crate 是 Rust 的编译单元。当调用 rustc some_file.rs 时,some_file.rs 被当作 crate 文件。如果 some_file.rs 里面含有 mod 声明,那么模块文件的内容将在编译之前被插入 crate 文件的相应 阅读全文
posted @ 2025-07-21 10:35 carol2014 阅读(63) 评论(0) 推荐(0)
摘要:所有权 所有权(系统)是 Rust 最为与众不同的特性,它让 Rust 无需垃圾回收器(garbage collector)即可保证内存安全,是 Rust 的核心功能之一。 所有运行的程序都必须管理其使用计算机内存的方式。一些语言中具有垃圾回收机制,在程序运行时不断地寻找不再使用的内存;在另一些语言 阅读全文
posted @ 2025-07-21 10:31 carol2014 阅读(33) 评论(0) 推荐(0)
摘要:泛型 泛型(generic)是用于泛化类型和函数功能,以扩大其适用范围。泛型极大地减少了代码的重复,但它自身的语法很要求细心。也就是说,采用泛型意味着仔细地指定泛型类型具体化时,什么样的具体类型是合法的。泛型最简单和常用的用法是用于类型参数。 定义泛型类型或泛型函数之类的东西时,我们会用 <A> 或 阅读全文
posted @ 2025-07-21 10:13 carol2014 阅读(18) 评论(0) 推荐(0)
摘要:变量和可变性 变量绑定 Rust 通过静态类型确保类型安全。变量绑定可以在声明时说明类型,不过在多数情况下,编译器能够从上下文推导出变量的类型,从而大大减少了类型说明的工作。 使用 let 绑定操作可以将值(比如字面量)绑定(bind)到变量。 fn main() { let an_integer 阅读全文
posted @ 2025-07-21 10:09 carol2014 阅读(27) 评论(0) 推荐(0)
摘要:表达式 Rust 程序(大部分)由一系列语句构成: fn main() { // 语句 // 语句 } Rust 有多种语句。最普遍的语句类型有两种:一种是声明绑定变量,另一种是表达式带上英文分号(😉: fn main() { // 变量绑定 let x = 5; // 表达式; x; x + 1 阅读全文
posted @ 2025-07-21 09:57 carol2014 阅读(25) 评论(0) 推荐(0)
摘要:Rust 自定义数据类型主要是通过下面这两个关键字来创建: struct: 定义一个结构体(structure) enum: 定义一个枚举类型(enumeration) 结构体 struct,或者 structure,是一个自定义数据类型,允许你命名和包装多个相关的值,从而形成一个有意义的组合。 结 阅读全文
posted @ 2025-07-21 09:53 carol2014 阅读(40) 评论(0) 推荐(0)
摘要:Rust 是一门注重安全(safety)、速度(speed)和并发(concurrency)的现代系统编程语言。Rust 通过内存安全来实现以上目标,但不使用垃圾回收机制(garbage collection, GC)。 安装 检查是否正确安装了 Rust rustc --version 编写程序 阅读全文
posted @ 2025-07-21 09:48 carol2014 阅读(19) 评论(0) 推荐(0)