Dart 库

2024 年 8 月 29 日 | 5 分钟阅读

在 Dart 中,库是例程或编程指令集的集合。 Dart 包含许多内置库,这些库有助于保存例程(函数、类集等)并且经常使用。 Dart 库包含常量、函数、属性、异常、类型定义和类集。

导入库

要使用库,我们必须将其导入到当前程序中。 Dart 提供了 import **关键字**,用于使库在当前文件中可用。 我们可以在单个文件中使用多个库。

例如 - Dart 内置库 URI 用作 dart 方案来引用库。 其他库可以使用文件系统路径或 package: 方案来指定其 URI。 Dart 中的包管理器 pub 提供了库并使用 package 方案。

我们将在下面描述一些常用的库。

序号。描述
1.dart:io这个库包含用于服务器应用程序的文件、HTTP、套接字和其他 I/O 支持。 此库不适合基于浏览器的应用程序。 我们不需要显式导入,因为它默认导入。
2.Dart:core这个库包含每个 Dart 程序的集合、内置类型和其他核心功能。 它默认导入。
3.Dart: math这个库包含丰富的数学函数、常量和随机数生成器。
4.Dart: convert它用于编码器和解码器,用于转换不同的数据表示形式,例如 JSON 和 UTF
5.Dart: typed_data它表示有效地存储固定大小数据的列表(例如 - 无符号 8 字节整数)。

让我们理解以下导入和使用库函数的示例。

示例 - 导入和使用库

输出

Square root of 25 is: 5.0

说明

在上面的代码中,我们导入了内置库 **'dart:math'**。 它提供了许多内置的数学函数,这里我们使用了带有数字的 **sqrt()** 函数。 它接受一个数字作为参数,我们要找到它的平方根。 我们在 **sqrt()** 函数中传递了一个整数 25,它返回一个输出 5。

库中的封装

Dart 提供了封装或限制访问 Dart 库内容的工具。 这可以通过使用 _(下划线) 来完成,后跟标识符。 _(下划线) 符号使库的内容完全私有。 语法如下所示。

语法

示例 -

我们定义一个名为 Greetings 的库,它有一个私有函数。

上面的文件另存为 greetings.dart,现在我们导入该库。

输出

运行上面的代码后,它会抛出一个错误,因为我们已经声明了带有私有方法的库并尝试在其他文件中访问它。

Unhandled exception: 
No top-level method 'w._sayHi' declared.  
NoSuchMethodError: method not found: 'w._sayHi' 
Receiver: top-level 
Arguments: [...] 
#0 NoSuchMethodError._throwNew (dart:core-patch/errors_patch.dart:184) 
#1 main (file:///C:/Users/Administrator/WebstormProjects/untitled/Assertion.dart:6:3) 
#2 _startIsolate.<anonymous closure> (dart:isolate-patch/isolate_patch.dart:261) 
#3 _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:148)

创建自定义库(用户定义的库)

我们还可以使用我们自己的代码作为库并在需要时导入它。 这种类型的库称为自定义库。 以下是创建自定义库的步骤。

步骤 1:声明库

library 语句用于显式创建库。 语法如下所示。

语法

步骤 2:连接库

我们可以通过两种方式连接库。

  • 在同一目录下
  • 从不同的目录

让我们理解以下示例 -

示例 - 自定义库

现在我们将上面的自定义文件导入到当前名为“library.dart”的文件中。

输出

inside add method of calculator_simple Library
inside modulus  method of calculator_simple Library
inside multiplication method of calculator_simple Library
inside subtraction  method of calculator_simple Library
30 + 10 = 40
30 %  10= 0
30 + 10 = 300
30 - 10 = 20

复制上面的代码并将其粘贴到您的 Dart 编辑器中并观察结果。

注意 - 自定义库必须通过其保存的文件名导入,例如我们在当前工作文件中以 calculator_simple 名称导入它。

库的名称别名

Dart 允许我们将多个库导入到当前工作文件中,但是如果我们在不同的库中创建相同的函数名,则在访问这些函数时会产生冲突。 Dart 编译器可能会混淆以识别不同库中的特定函数。 为了克服这种情况,Dart 提供了 **as** 关键字来指定前缀。 语法如下所示。

语法

让我们理解以下示例 -

示例 -

首先,我们定义一个库: **greeting.dart**

接下来,我们定义新的库: **hellogreetings.dart**

现在,我们使用 **as** 前缀导入上面的库。

输出

Learn the Dart with JavaTpoint
JavaTpoint provides the tutorial on all technical related topic

下一个主题Dart 生成器