Dart 泛型

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

Dart 泛型与 Dart 集合相同,用于存储同类数据。正如我们在 Dart 特性中讨论的那样,它是一种可选类型语言

默认情况下,Dart 集合是异构类型。换句话说,单个 Dart 集合可以保存多种数据类型的值。 但是,Dart 集合也可以存储同类值或相同类型的值。

Dart 泛型提供了强制限制集合可以存储的值的数据类型的功能。 这些集合可以称为类型安全集合

类型安全是 Dart 编程的一个独特功能,它确保内存块只能包含特定数据类型的数据。

泛型是支持所有 Dart 集合的类型安全实现的一种方式。 角括号对用于声明类型安全集合。 角括号由集合的数据类型组成。 语法如下所示。

语法 -

我们可以对各种 Dart 对象(例如 List、Queue、Map 和 Set)进行类型安全实现。 上面定义的所有集合类型的实现也支持它。 语法如下所示。

示例 - 泛型列表

输出

CHECK
ERROR
INFO

说明

我们创建了一个列表,该列表保存字符串类型安全,并使用 add() 函数将元素添加到其中。

如果我们尝试插入指定值以外的其他值,则会引发编译错误。 让我们了解以下示例 -

示例 - 2

输出

generics.dart:3:17: Error: The argument type 'int' can't be assigned to the parameter type 'String'.
logTypes.add(511);

让我们看另一个例子 -

示例 - 泛型集合

输出

10
20
30
40
50

示例 - 泛型队列

输出

Default implementation ListQueue<int>
205
315
470

泛型映射

我们知道声明 map 需要键和值。 语法如下所示。

语法

示例 -

输出

Map :{name: Joseph, Rollno: Std1001}

下一个主题Dart 包