跳到主要内容

Dart 的核心库

Dart 拥有丰富的核心库,为许多日常编程任务提供基础功能,例如处理对象集合 (dart:collection)、进行计算 (dart:math) 以及编码/解码数据 (dart:convert)。其他 API 可在常用包中找到。

库概览

#

以下指南介绍了如何使用 Dart 核心库的主要功能。它们仅提供概述,并非详尽无遗。当您需要了解有关库或其成员的更多详细信息时,请查阅 Dart API 参考

dart:core
内置类型、集合和其他核心功能。此库会自动导入到每个 Dart 程序中。
dart:async
支持异步编程,包含 Future 和 Stream 等类。
dart:math
数学常量和函数,以及随机数生成器。
dart:convert
用于在不同数据表示形式之间进行转换的编码器和解码器,包括 JSON 和 UTF-8。
dart:io
适用于可以使用 Dart VM 的程序的 I/O,包括 Flutter 应用程序、服务器和命令行脚本。
dart:js_interop
用于与 Web 平台互操作的 API。与 package:web 一起,dart:js_interop 替代了 dart:html

如前所述,这些页面仅为概述;它们仅涵盖少数 dart:* 库,不包含第三方库。

要概览 Dart 在不同平台上支持的所有库,请查看下面的多平台库原生平台库Web 平台库列表。

查找库信息的其他位置包括 pub.dev 站点Dart Web 开发者库指南。您可以在 Dart API 参考 中找到所有 dart:* 库的 API 文档,如果您使用的是 Flutter,则可以在 Flutter API 参考 中找到。

要了解有关 Dart 语言的更多信息,请查看语言文档和示例

多平台库

#

下表列出了在所有 Dart 平台上运行的 Dart 核心库。

注释
dart:core
每个 Dart 程序的内置类型、集合和其他核心功能。
dart:async, package:async
支持异步编程,包含 FutureStream 等类。
package:async 提供了围绕 FutureStream 类型的其他实用程序。
dart:collection, package:collection
补充 dart:core 中集合支持的类和实用程序。
package:collection 提供了更多集合实现和用于处理集合的函数。
dart:convert, package:convert
用于在不同数据表示形式之间进行转换的编码器和解码器,包括 JSON 和 UTF-8。
package:convert 提供了额外的编码器和解码器。
dart:developer
与开发人员工具(如调试器和检查器)的交互。
Native JIT开发 JavaScript 编译器 仅限
dart:math
数学常量和函数,以及随机数生成器。
dart:typed_data, package:typed_data
高效处理固定大小数据(例如,无符号 8 字节整数)和 SIMD 数值类型的列表。
package:typed_data 提供了更多处理类型化数据的类和函数。

原生平台库

#

下表列出了在 Dart 原生平台(AOT 和 JIT 编译的代码)上运行的 Dart 核心库。

注释
dart:ffi, package:ffi
一种外来函数接口,允许 Dart 代码使用原生 C API。
package:ffi 包含实用程序,包括支持转换 Dart 字符串和 C 字符串。
dart:io, package:io
非 Web 应用程序的文件、套接字、HTTP 和其他 I/O 支持。
package:io 提供了包括 ANSI 颜色、文件复制和标准退出代码支持的功能。
dart:isolate
使用 Isolate 进行并发编程:类似于线程的独立工作器。
dart:mirrors
支持内省和动态调用的基本反射。
实验性
Native JIT 仅限( 包括 Flutter)

Web 平台库

#

下表列出了在 Dart Web 平台(编译为 JavaScript 的代码)上运行的 Dart 核心库。最新的、推荐的工具以粗体显示,而旧版工具以斜体显示(访问 Javascript 互操作性 以获取更多信息)。

注释
package:web
围绕 JS 互操作构建的轻量级浏览器 API 绑定
替换所有 dart:* Web 库。阅读迁移指南
dart:js_interop
与 JavaScript 和浏览器 API 互操作。
替换 package:js
dart:js_interop_unsafe
动态操作 JavaScript 对象的实用方法。
替换 dart:js_util
dart:html (旧版)
用于 Web 应用程序的 HTML 元素和其他资源。
请改用 package:web
dart:indexed_db (旧版)
支持索引的客户端键值存储。
请改用 package:web
dart:js, dart:js_util, package:js (旧版)
用于 JS 互操作的底层原语和更高级别的注解。
请改用 dart:js_interopdart:js_interop_unsafe
dart:svg (旧版)
可缩放矢量图形。
请改用 package:web
dart:web_audio (旧版)
浏览器中的高保真音频编程。
请改用 package:web
dart:web_gl (旧版)
浏览器中的 3D 编程。
请改用 package:web