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:html
- DOM 和其他用于基于浏览器的应用的 API。我们现在建议使用
package:web
而不是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 支持异步编程,包含 Future 和 Stream 等类。package:async 提供了围绕 Future 和 Stream 类型的额外实用程序。 | |
dart:collection , package:collection 补充 dart:core 中的集合支持的类和实用程序。package:collection 提供了更多集合实现和用于处理和使用集合的函数。 | |
dart:convert , package:convert 用于在不同数据表示之间进行转换的编码器和解码器,包括 JSON 和 UTF-8。 package:convert 提供了额外的编码器和解码器。 | |
dart:developer 与开发工具(如调试器和检查器)进行交互。 | 仅限 原生 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 文件、套接字、HTTP 和其他用于非 Web 应用程序的 I/O 支持。 package:io 提供了功能,包括支持 ANSI 颜色、文件复制和标准退出代码。 | |
dart:isolate 使用隔离区进行并发编程:类似于线程的独立工作程序。 | |
dart:mirrors 支持内省和动态调用的基本反射。 | 实验性 仅限 原生 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 (传统)HTML 元素和其他用于基于 Web 的应用程序的资源。 | 使用 package:web 替代。 |
dart:indexed_db (传统)支持索引的客户端键值存储。 | 使用 package:web 替代。 |
dart:js , dart:js_util , package:js (传统)用于 JS 互操作的低级基元和高级注释。 | 使用 dart:js_interop 或 dart:js_interop_unsafe 替代。 |
dart:svg (传统)可缩放矢量图形。 | 使用 package:web 替代。 |
dart:web_audio (传统)浏览器中的高保真音频编程。 | 使用 package:web 替代。 |
dart:web_gl (已弃用)浏览器中的 3D 编程。 | 使用 package:web 替代。 |
除非另有说明,本网站上的文档反映了 Dart 3.5.3。页面最后更新于 2024-05-23。 查看源代码 或 报告问题.