SuperAPI AI 工具集

rust-core-stdlib-overview

编程与开发

查看项目

更新于 10-15 22:18

技能介绍

用途:这是一个 Rust 标准库的“地图”,不是教程。它回答“某个能力在 std 哪个模块”“是否需要引入外部 crate”“prelude 导入了什么”“core、alloc、std 有何区别”“何时使用 no_std”等问题;深层机制交由交叉引用的相关技能处理。

主要内容:

  1. 层次结构。core 提供基础类型、trait、Option、Result、Iterator、格式化、原子操作、Future、Pin,无需分配和操作系统;alloc 提供 Box、Vec、String、Rc、Arc、BTreeMap、BTreeSet、VecDeque、BinaryHeap、LinkedList,需要全局分配器;std 在二者之上增加 std::fs、std::io、std::net、std::process、std::thread、std::env、std::sync::Mutex、HashMap、HashSet 等依赖操作系统的部分。HashMap/HashSet 属于 std 而非 alloc,因为默认哈希器 RandomState 需要操作系统的随机数种子。
  2. prelude。列出各版本自动导入的名称,如 Copy、Clone、Drop、Option、Result、Box、String、Vec、Iterator、Debug、Eq、Hash、Fn 系列等;edition 2024 新增 Future、IntoFuture。可通过 std::prelude::v1 访问。
  3. 能力对照表。按“想做什么”给出对应模块与关键类型,涵盖容器、同步原语、I/O、文件系统、路径、进程、线程、时间、环境变量、FFI、格式化、Pin、mpsc 通道等。
  4. 模块速览。std::collections 的容器选择规则(默认 Vec,HashMap 用于无序查找,BTreeMap 用于有序遍历与范围查询,VecDeque 用于 FIFO 队列,BinaryHeap 用于优先队列,不建议 LinkedList);HashMap 的 DoS 防护与迭代顺序随机化;std::sync 中 Arc、Mutex、RwLock、atomic、OnceLock、LazyLock、Barrier、Condvar 等;std::io 的 Read/Write/BufRead/Seek 与 BufReader/BufWriter;std::fs 与 std::path 的常用函数与路径处理;std::process 的 Command、output、spawn 用法;std::thread 的 spawn、scope、join;std::time 的 Duration、Instant、SystemTime;std::env 与 std::ffi 的类型与注意事项。

限制:资料未说明该技能的安装方式、收费情况或运行平台,这些内容暂未提供;正文也未给出完整代码示例,仅保留了少量必要 API 片段。