专业的编程技术博客社区

网站首页 > 博客文章 正文

七爪源码:3 分钟学习 Dart 语言泛型

baijin 2024-08-23 10:38:42 博客文章 4 ℃ 0 评论

简介 - Dart 语言中的泛型是什么?

简而言之,泛型是一种语法,它源于将类型视为函数参数的想法。 它是一种为实现代码通用性和类型安全而开发的语言功能。 泛型可用于减少代码重复。 例如,要创建一个仅包含字符串的列表,只需将该列表声明为 List<String>。

如果您学习过 TypeScript 或 Java,您将立即理解并学习在 Dart 语言中使用泛型。

这两个示例片段是在 Dart 中使用泛型的示例。

var names = <String>[];
names.addAll(['Seth', 'Kathy', 'Lars']);

/* 
OUTPUT:
[Seth, Kathy, Lars]
*/
class GenericMember<T> {
  final List<T> _memberList = [];
  void push(T item) => _memberList.add(item);
  T pop() => _memberList.removeLast();
  get memberList => _memberList;
}

void main() {
  final memberA = GenericMember<String>();
  memberA.push("Ken");
  memberA.push("Bob");
  //memberA.push(1);
  print(memberA.memberList);

  final memberB = GenericMember<int>();
  memberB.push(1);
  memberB.push(2);
  memberB.push(3);
  print(memberB.memberList);
  memberB.pop();
  print(memberB.memberList);
}

/* 
OUTPUT:
[Ken, Bob]
[1, 2, 3]
[1, 2]
*/


Dart 语言中的另一个泛型示例

Set

Dart 中的集合表示对象的集合,其中每个对象只能存在一次。(无重复)

void main() {  
  Set <int> SetEx = new Set <int>();  
  SetEx.add(12);  
  SetEx.add(3);  
  SetEx.add(4); 
    
  // Already added once, hence wont be added
  SetEx.add(3);  
     
  // iterating across Set SetEx  
  for (int element in SetEx) {  
     print(element);  
  }
}


Map

dart 中的映射是键值对的动态集合。

void main() {  
  // Creating a Map with Name and ids of members
  Map <String,int> mp={'ONE':1,'TWO':2,'THREE':3};  
  print('Map :${mp}');  
}

关注七爪网,获取更多APP/小程序/网站源码资源!

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表