Sway 标准库是核心类型、特性和函数的集合,为 Sway 程序提供了基本功能。它提供了原语、集合、错误处理、区块链交互工具等,以支持 Fuel 平台上的开发。
本页提供了标准库的组织结构和关键组件的概述。有关编译器和语言本身的信息,请参阅Sway 编译器。
Sway 标准库被组织成一系列模块,提供不同的功能类别。库的入口点位于 sway-lib-std/src/lib.sw 文件中,该文件导入并公开所有模块。
来源:sway-lib-std/src/lib.sw1-58 sway-lib-std/src/prelude.sw1-52
Sway 标准库包含一个序言模块,它会自动将基本类型和函数导入到每个 Sway 程序中。这使得无需显式导入语句即可使用常用功能。
来源:sway-lib-std/src/prelude.sw1-52
标准库通过额外功能扩展了 Sway 的内置原始类型。它还包括自定义实现,如 U128,用于处理比原生类型支持的更大整数。
U128 类型提供了一个 128 位无符号整数实现,表示为两个 64 位组件。
来源:sway-lib-std/src/u128.sw1-1034
Vec<T> 类型提供了一个动态大小的数组,用于管理项目集合。它是一个堆分配的结构,可以根据需要增长。
来源:sway-lib-std/src/vec.sw1-908
Bytes 类型表示原始字节的集合,提供了高效的字节操作。
来源:sway-lib-std/src/bytes.sw1-1066
String 类型提供 UTF-8 编码的字符串功能,构建在 Bytes 类型之上。
来源:sway-lib-std/src/string.sw1-224
Sway 标准库提供了两种核心错误处理类型:Option<T> 和 Result<T, E>。
Option<T> 表示一个可选值,可以是 Some(T) 或 None。
来源:sway-lib-std/src/option.sw1-326
Result<T, E> 表示成功值 (Ok(T)) 或错误 (Err(E))。
来源:sway-lib-std/src/result.sw1-275
存储模块提供与链上合约存储交互的实用工具。
来源:sway-lib-std/src/storage.sw1-11
认证模块提供用于验证交易签名者和合约调用者的函数。
来源:test/src/sdk-harness/test_projects/auth/mod.rs1-597
标准库提供了断言和错误处理机制。
来源:sway-lib-std/src/assert.sw1-125 sway-lib-std/src/revert.sw1-89 sway-lib-std/src/error_signals.sw1-26
Sway 标准库为 Fuel 平台上的开发提供了丰富的工具和抽象。它包括核心数据类型、集合工具、错误处理机制和特定于区块链的功能。
该库设计为模块化,组件被组织成逻辑上分离的模块。序言模块确保最常用的类型和函数无需显式导入即可使用。
无论您是处理集合、处理错误还是与区块链存储交互,标准库都为 Sway 开发提供了基本构建块。
来源:sway-lib-std/src/lib.sw1-58 sway-lib-std/src/prelude.sw1-52