跳到主要內容

Dart 的核心庫

Dart 擁有一套豐富的核心庫,為許多日常程式設計任務提供基本功能,例如處理物件集合(dart:collection)、進行計算(dart:math)以及資料編碼/解碼(dart:convert)。更多 API 可在常用包中找到。

庫概覽 (Library tour)

#

以下指南介紹瞭如何使用 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
與偵錯程式和檢查器等開發者工具進行互動。
僅限原生 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
使用 isolates 進行併發程式設計:類似於執行緒的獨立 worker。
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 (舊版)
基於 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