Dart 编码规范:集合使用最佳实践

戳这里了解《Flutter入门与实战》专栏,持续更新、系统学习!

前言

集合是应用程序中最为厂家的数据结构,Dart 一共支持如下四种集合,其中核心的 List, MapSet 在基础框架中,而 Queuedart:collection 库定义。

  • 列表:也就是 List 类,可动态增长的数组;
  • key-value 集:即 Map<K, V> 类,用于存储键值对;
  • 队列:即 Queue类;
  • 集合:即Set类,集合中的元素不可重复。

本篇介绍集合的最佳实践。

优先使用集合的特有语法

对于核心的集合类List, MapSet ,由于经常使用,Dart 为这些类提供的内置的语法来快速构建这些集合对象。

// 推荐用法
var points = <Point>[];
var addresses = <String, Address>{};
var counts = <int>{};

// 不推荐
var addresses = Map<String, Address>();
var counts = Set<int>();

集合还有一些特殊的用法,比如使用展开操作符(而且同时支持 ? 操作符判断是否为空)将一个集合加入到另一个集合。同时还支持结合 if 和 for 来在控制元素的加入。

// 推荐用法
var arguments = [
  ...options,
  command,
  ...?modeFlags,
  for (var path in filePaths)
    if (path.endsWith('.dart'))
      path.replaceAll('.dart', '.js')
];

// 不推荐
var arguments = <String>[];
arguments.addAll(options);
arguments.add(command);
if (modeFlags != null) arguments.addAll(modeFlags);
arguments.addAll(filePaths
    .where((path) => path.endsWith('.dart'))
    .map((path) => path.replaceAll('.dart', '.js')));

上面的推荐用法其实除了展开操作符以外,使用 if 和 for

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

岛上码农

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值