标准库概览

Toka 按稳定性层级组织随 SDK 交付的 API:语言语法、core/std、随附的 stdx 扩展,以及独立版本化的官方包。下表是概览;程序只应导入实际需要的模块。

模块结构

随 SDK 交付的标准库分为四层;已认证官方包是独立的 registry 依赖:

lib/core/ — 核心语言原语

这些模块提供了语言本身所依赖的基础类型和 trait:

模块描述
prelude每个 Toka 程序自动导入的基础内容
types类型定义和极限值
traits核心 traits(@Hash@PartialEq@PartialOrd
charUnicode 字符处理与分类
str字符串切片操作
stringUTF-8 编码的动态字符串类型与视图
bytes只读二进制字节流视图
memory内存管理原语
option用于可空值的 Option<T> 类型
result用于错误处理的 Result<T, E> 类型
task基础协程生命周期与底座

lib/sys/ — 底层系统原语

这些模块提供了与操作系统和底层运行时的直接绑定与原语:

模块描述
libc平台相关的 C 标准库 API 声明与绑定
termios底层 Tty 终端模式与控制属性配置
thread操作系统原生线程底层接口
sync操作系统级同步原语及锁实现
linux / macos / windows针对特定操作系统的底层系统调用与绑定

lib/std/ — 标准库

面向应用程序开发的即用型标准模块:

模块描述
vec动态增长的顺序数组容器(Vec
deque基于循环缓冲区的双端队列(VecDeque
slab零拷贝分代插槽分配器(Slab / SlabID
hashmap基于哈希表的高性能映射(HashMap
hashset基于哈希表的唯一元素集合(HashSet
btreemap基于 B-Tree 的有序键值映射(BTreeMap
btreeset基于 B-Tree 的有序唯一集合(BTreeSet
heap最大堆/最小堆实现的优先队列(BinaryHeap
arena轻量级 Arena 区域内存分配器(Arena
ring循环无锁缓冲区(RingBuffer
io带缓冲的标准控制台 I/O(stdin / stdout / println
fs文件系统读写及目录元数据操作
path跨平台文件路径解析与操作(Path / PathBuf
env环境变量获取、进程参数与系统上下文交互
process子进程的创建、状态控制与管道交互
thread操作系统原生线程管理与生命周期控制(Thread
sync线程级同步锁原语(Mutex / Condvar / WaitGroup)
atomic硬件级原子操作与无锁同步原语
channel线程间消息传递通信通道(channel / sync_channel
task协程异步任务的调度、上下文管理与运行时
async异步任务辅助工具与有界任务协作
bytes自有不可变字节缓冲与零拷贝字节视图
context取消与截止时间传播
iter迭代器协议与适配器
random操作系统安全随机字节与确定性 PRNG 支持
signal协作式进程关闭信号处理
netTCP 与 UDP 套接字网络通信接口
math常用数学计算函数与极限常量
time系统时间与单调递增持续时间(Duration / Instant
fmt文本格式化与调试输出工具(Format
error通用错误特征(Error)与故障基类定义
panic运行时致命错误触发、拦截与堆栈挂钩处理

lib/stdx/ — 随附扩展(stdx)

随附扩展提供稳定的 1.0 HTTP、TLS、编码和数据工具。它们比 core/std 更聚焦,但随 SDK 一起交付,而不是第三方包:

模块描述
log基础日志打印与级别过滤机制
net/httpHTTP 客户端和服务器
net/stream / net/tlsowner-carrying stream 与 TLS 适配器
net/urlURL 解析
net/cookie / net/mime / net/sseHTTP 相关解析、MIME 与服务器发送事件
net/websocketWebSocket 客户端和服务器
serde/jsonJSON 序列化
crypto/md5MD5 哈希
crypto/sha1SHA-1 哈希
crypto/sha256SHA-256 哈希
encoding/base64Base64 编码与解码
encoding/hex十六进制编码与解码
encoding/percentPercent 编码与解码
data/csv / data/formCSV 与表单数据编解码
io/bufio带缓冲的高级输入输出流(BufReader / BufWriter
rand/rand伪随机数生成器与随机实用工具(Random
trace/span调用栈与方法耗时追踪 span
cli/flagCLI 参数解析
metrics/prometheusPrometheus 文本暴露原语
uuid/uuid / version/semverUUID 与 SemVer 工具
serde/tomlTOML 解析与序列化

已认证官方包

官方包是独立版本化、通过 registry 解析的库,不是另一层标准库。当前已认证的包包括 regexroutersqliteredispostgrescompressunicodeguiopenai_compat。使用 toka add <name> 添加,并通过 package.lock 固定已校验的精确发布版本。

设计理念

Toka 的标准库遵循以下原则:

  1. 零依赖 — 所有内容都使用纯 Toka 和 LLVM 后端构建
  2. 一致的 API — 不同模块之间采用相似的模式
  3. 错误感知 — 每个可能失败的操作都返回 ResultOption
  4. 高性能 — 编译为原生代码,无隐藏开销