Rust 标准库std

在 Rust 中,标准库其实只有一个 crate,叫做 std。我们常说的“标准库”是指 std 里面的大量模块和类型。下面按使用频率和初学接触顺序,把最重要的模块及其中关键类型/特质列出来,相当于一份“标准库地图”。

1. 预导入(Prelude)—— 自动引入

  • std::prelude
    Rust 会在每个程序自动导入一部分名字,比如 Option::SomeResult::OkVecStringprintln! 等,因此我们不用写 use std::prelude::*;。初学阶段遇到的大多数东西都来自这里。

2. 最基础类型与常用 trait

  • std::option::Option — 要么有值 Some(T),要么没值 None
  • std::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 — 内部可变性,配合 Rc
  • std::mem — 内存操作,如 swapsize_oftransmute

6. 输入输出

  • std::io — 核心 I/O trait,如 ReadWritestdin()stdout()
  • std::fs — 文件系统操作(Filecreate_dirremove_file 等)
  • std::path — 路径操作(Path, PathBuf

7. 字符串与字符

  • std::str — 字符串切片 &str 的所有方法
  • std::char — 字符类型相关方法

8. 迭代器

  • std::iterIterator trait 及各类适配器(map, filter, collect 等)

9. 多线程与同步

  • std::thread — 创建与管理线程
  • std::sync::Mutex — 互斥锁,配合 Arc
  • std::sync::RwLock — 读写锁
  • std::sync::mpsc — 多生产者单消费者通道(消息传递)
  • std::sync::atomic — 原子类型

10. 时间

  • std::timeDuration, Instant, SystemTime

11. 环境与程序参数

  • std::env — 环境变量、当前工作目录等
  • std::process — 运行子进程、程序退出

12. 网络(基础)

  • std::net — TCP/UDP 基本类型(TcpStream, UdpSocket),实际开发常用第三方 crate(如 tokio

13. 其他常用

  • std::cmp — 比较(Ordering 枚举、maxmin 方法)
  • 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,这些是写工具和小游戏最常见的“武器”。

posted @ 2026-08-10 12:05  华腾智算  阅读(13)  评论(0)    收藏  举报
https://damo.alibaba.com/ https://tianchi.aliyun.com/course?spm=5176.21206777.J_3941670930.5.87dc17c9BZNvLL