Rekord
  • 首页
  • 归档
  • 分类
  • 标签
  • 友链
  • 关于
Rust 核心概念(十五):异步

Rust 核心概念(十五):异步

同步和异步同步代码遇到耗时 IO 时,线程会等待。 例如读取网络请求、等待数据库返回、等待文件系统响应。 异步的目标是: 当前任务等待 IO 时,让线程去执行别的任务。 这适合高并发 IO 场景。 async fnRust 用 async fn 定义异步函数。 123async fn fetch_user() -> String { String::from("
2026-07-16
技术
#学习笔记 #Rust
Rust 核心概念(十四):宏

Rust 核心概念(十四):宏

宏解决的核心问题是 Rust 如何在编译期生成代码? 宏是 Rust 的元编程能力。它很强,但不应该过早滥用。 为什么需要宏函数可以复用运行时逻辑。 宏可以生成代码。 例如: 12println!("hello {}", "rust");vec![1, 2, 3]; println! 和 vec! 都是宏。 名字后面有 !,这是 Rus
2026-07-15
技术
#学习笔记 #Rust
Rust 核心概念(十三):unsafe

Rust 核心概念(十三):unsafe

这一篇讲 unsafe,核心问题是: 当编译器无法证明某些操作安全时,Rust 如何表达这段责任由程序员承担? unsafe 不是关闭 Rust 的所有检查。 它只是开放少数编译器无法保证安全的能力。 unsafe 能做什么unsafe 代码块允许做五类事情: 解引用裸指针。 调用 unsafe 函数或方法。 访问或修改可变静态变量。 实现 unsafe trait。 访问 union 字段
2026-07-14
技术
#学习笔记 #Rust
Rust 核心概念(十二):并发

Rust 核心概念(十二):并发

Rust 的并发安全建立在所有权、借用、trait 和智能指针之上。 创建线程使用 thread::spawn 创建线程。 123456789use std::thread;fn main() { let handle = thread::spawn(|| { println!("hello from thread"); }
2026-07-13
技术
#学习笔记 #Rust
Rust 核心概念(十一):智能指针

Rust 核心概念(十一):智能指针

智能指针不是绕过所有权,而是把不同所有权需求编码进类型。 指针和智能指针普通引用 &T 只是借用数据。 智能指针通常拥有数据,并附带额外能力。 例如: Box<T>:把值放到堆上,并拥有它。 Rc<T>:单线程多所有者。 Arc<T>:多线程多所有者。 RefCell<T>:运行时借用检查。 Mutex<T>:多线程互斥访问。
2026-06-18
技术
#学习笔记 #Rust
Rust 核心概念(十):测试

Rust 核心概念(十):测试

Rust 把测试纳入官方工具链,直接用 cargo test 运行。 单元测试单元测试通常写在被测试代码同一个文件里。 12345678910111213fn add(a: i32, b: i32) -> i32 { a + b}#[cfg(test)]mod tests { use super::*; #[test] fn add_tw
2026-06-17
技术
#学习笔记 #Rust
Rust 核心概念(九):Cargo 与项目管理

Rust 核心概念(九):Cargo 与项目管理

Cargo 是 Rust 官方工具链的一部分。不会 Cargo,就很难写真实 Rust 项目。 创建项目创建一个可执行项目: 1cargo new hello 目录大致是: 1234hello/ Cargo.toml src/ main.rs 创建库项目: 1cargo new hello --lib 库项目入口通常是: 1src/lib.rs Cargo.tomlCargo.t
2026-06-16
技术
#学习笔记 #Rust
Rust 核心概念(八):模块系统

Rust 核心概念(八):模块系统

模块系统不是语法细节,它决定了项目结构能不能长期维护。 package、crate、module先区分三个词。 package 是 Cargo 管理、构建和发布的项目单元。 一个 package 里有 Cargo.toml。 crate 是 Rust 编译单元,也是 Rust 做名称解析、可见性检查、依赖连接和最终产物生成的基本边界。 crate 分两类: binary crate:编译成可执行
2026-06-15
技术
#学习笔记 #Rust
Rust 核心概念(七):闭包与迭代器

Rust 核心概念(七):闭包与迭代器

闭包和迭代器看起来像语法糖,但它们背后依然是所有权、借用和 trait。 闭包是什么闭包是一段可以保存到变量里、传给函数、从函数返回的匿名函数。 12345fn main() { let add_one = |x| x + 1; println!("{}", add_one(1));} |x| x + 1 就是闭包。 闭包可
2026-06-05
技术
#学习笔记 #Rust
Rust 核心概念(六):泛型、trait 与 trait bound

Rust 核心概念(六):泛型、trait 与 trait bound

这一篇讲 Rust 的抽象能力,核心问题是: 如何写一份代码,适配多种类型? Rust 的答案主要是泛型和 trait。 泛型泛型让函数或类型不绑定到某一个具体类型。 例如,下面这个函数只能接收 i32: 123fn first_i32(list: &[i32]) -> &i32 { &list[0]} 如果想让它适配更多类型,可以使用
2026-06-04
技术
#学习笔记 #Rust
123…8

搜索

Hexo Fluid
湘ICP备2021007111号

湘公网安备 43010302001326号


开往-友链接力