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 非Web应用程序的文件、套接字、HTTP和其他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.6.0。页面最后更新于 2025-02-05。 查看源代码 或 报告问题.