Dart Typedef

17 Mar 2025 | 4 分钟阅读

在 Dart 中,typedef 用于生成函数类型的别名,我们可以将其用作类型注释,用于声明变量和该函数类型的返回类型。函数类型的别名可以用作变量声明或函数返回类型中的类型注释。 当我们将函数类型分配给变量时,typedef 存储类型信息。

声明 typedef

typedef 关键字用于为函数创建别名,该别名将与实际函数相同。 我们还可以使用参数列表创建一个函数原型。 语法如下所示。

语法

示例 -

让我们创建 MultiOperation(int n1, int n2) 的别名,它包含两个整型参数。

分配 typedef 变量

我们可以使用相同的参数为 typedef 变量分配任何函数。 语法如下所示。

语法

让我们理解以下示例,其中我们定义了两个与 MultiOperation 具有相同签名的函数。

使用 typedef 调用函数

我们可以通过使用 typdef 变量传递相同的参数来调用函数。 语法如下所示。

语法

示例

mp 是一个 typedef 变量,可用于引用接受两个整数参数的任何方法。 可以通过使用 typedef 在运行时切换函数引用。

使用 typedef 的完整程序

让我们看一个例子。

输出

JavaTpoint - Dart typedef Example
Sum of the two numbers: 30
Subtraction of the two numbers: 10

说明

在上面的代码中,我们使用 typedef 关键字创建了 MultiOperation() 函数的别名。 我们定义了另外两个函数 Sum()Sub(),它们与 typedef 函数具有相同的签名。

然后,我们为 typedef 变量 mp 分配了对 Sum() 函数和 Sub() 函数的引用。 现在,我们通过传递所需的参数来调用函数,它将结果打印到屏幕上。

Typedef 作为参数

我们可以将 typedef 方法用作参数。 在下面的示例中,我们正在为上面的程序创建另一个函数 NumericOperaion(int n1, int n2, MultiOperation mp),它带有两个整数变量和 typedef ManyOperation mp 作为其参数。

示例 -

输出

JavaTpoint - Dart typedef Example
Inside Operation
Sum of the two number: 30
Inside Operation
Subtraction of the two number: 10

在上面的代码中,我们不需要为引用每个方法创建 typedef 变量; 我们只需通过传递所需的值和 typedef 变量 mp 来调用 NumericOperation() 函数。 它执行给定的操作并打印结果。

Dart 调试

调试是在 Dart 程序中识别和消除现有和可能错误的,这些错误可能在程序执行期间引起歧义和不确定性。 调试对于检测和修复错误以使程序平稳运行或不中断至关重要。

如果您使用 IDE 进行 Dart 程序,则调试会变得更容易。 在这里,我们假设您已经在您的系统中安装了最常见和最合适的 IDE WebStorm。 WebStorm 编辑器允许我们逐步调试。

什么是断点?

断点是程序的检查点,用于在特定点中断程序以检查其行为。 我们可以在程序中添加断点以检查该特定区域内的错误。

如何在 WebStorm 中添加断点?

我们可以在 WebStorm 中添加断点,只需单击左侧栏中的行号即可添加断点。 添加断点后,在调试模式下运行程序,它将显示调试器窗口,我们可以在其中验证断点的工作方式。 我们还可以更改值并在监视窗口中查看差异。

Dart Typedef
下一主题Dart 元数据