Rust 标准库std
在 Rust 中,标准库其实只有一个 crate,叫做 std。我们常说的“标准库”是指 std 里面的大量模块和类型。下面按使用频率和初学接触顺序,把最重要的模块及其中关键类型/特质列出来,相当于一份“标准库地图”。
1. 预导入(Prelude)—— 自动引入
std::prelude
Rust 会在每个程序自动导入一部分名字,比如Option::Some、Result::Ok、Vec、String、println!等,因此我们不用写use std::prelude::*;。初学阶段遇到的大多数东西都来自这里。
2. 最基础类型与常用 trait
std::option::Option— 要么有值Some(T),要么没值Nonestd::result::Result— 成功Ok(T)或失败Err(E)std::string::String— 可变长度的 UTF-8 字符串std::vec::Vec— 动态数组,最常用的集合std::fmt— 格式化打印(Display,Debug,write!宏)std::clone::Clone— 显式复制(.clone())std::marker::Copy— 轻量拷贝(整数、布尔等默认实现)std::default::Default— 提供默认值
3. 集合(数据存储)
std::collections::HashMap— 键值对std::collections::HashSet— 不重复元素集合std::collections::VecDeque— 双端队列std::collections::LinkedList— 链表(不常用)std::collections::BTreeMap— 有序键值对
4. 错误处理
std::error::Error— 错误 trait,自定义错误的基础
5. 智能指针与内存管理
std::boxed::Box— 堆上分配,解决递归类型std::rc::Rc— 引用计数指针,单线程共享所有权std::sync::Arc— 原子引用计数,多线程共享std::cell::RefCell— 内部可变性,配合 Rcstd::mem— 内存操作,如swap、size_of、transmute等
6. 输入输出
std::io— 核心 I/O trait,如Read、Write、stdin()、stdout()std::fs— 文件系统操作(File、create_dir、remove_file等)std::path— 路径操作(Path,PathBuf)
7. 字符串与字符
std::str— 字符串切片&str的所有方法std::char— 字符类型相关方法
8. 迭代器
std::iter—Iteratortrait 及各类适配器(map,filter,collect等)
9. 多线程与同步
std::thread— 创建与管理线程std::sync::Mutex— 互斥锁,配合 Arcstd::sync::RwLock— 读写锁std::sync::mpsc— 多生产者单消费者通道(消息传递)std::sync::atomic— 原子类型
10. 时间
std::time—Duration,Instant,SystemTime
11. 环境与程序参数
std::env— 环境变量、当前工作目录等std::process— 运行子进程、程序退出
12. 网络(基础)
std::net— TCP/UDP 基本类型(TcpStream,UdpSocket),实际开发常用第三方 crate(如tokio)
13. 其他常用
std::cmp— 比较(Ordering枚举、max、min方法)std::slice— 切片&[T]的方法std::any— 运行时类型反射(TypeId)std::panic— 恐慌处理(一般不主动使用)std::marker— 标记 trait,如Copy,Send,Sync,Sized
这份列表基本覆盖了一个 Rust 程序员日常使用 90% 以上的标准库内容。对于初学者,建议优先熟悉 Option/Result、String/Vec、Clone/Copy、HashMap、Box/Rc/RefCell、io/fs、thread/Arc/Mutex,这些是写工具和小游戏最常见的“武器”。

浙公网安备 33010602011771号