Dart编程语言从基础到进阶4

Dart编程语言从基础到进阶

接上篇的数据类型

Maps

Map是关联keys和values的对象。keys和values可以是任何类型的对象。而且在一个Map中一个key只能出现一次,values没有这个限制。
比如:

var gifts = {
  // 键:    值
  'first': 'partridge',
  'second': 'turtledoves',
  'fifth': 'golden rings'

};

var nobleGases = {

   2: 'helium',

   10: 'neon',

   18: 'argon',

};

Tips:Dart 将 gifts 变量的类型推断为 Map<String, String>,而降 nobleGases 的类型推断为 Map<int, String>。如果你向这两个 Map 对象中添加不正确的类型值,将导致运行时异常。

同时我们也可以使用Map自带的构造器去创建:

var gifts = Map();
gifts['first'] = 'partridge';
gifts['second'] = 'turtledoves';
gifts['fifth'] = 'golden rings';


var nobleGases = Map();
nobleGases[2] = 'helium';
nobleGases[10] = 'neon';
nobleGases[18] = 'argon';

Tips:这里为什么使用 Map() 而不是使用 new Map() 构造 Map 对象。因为从 Dart2 开始,构造对象的 new 关键字可以被省略掉。

向现有的 Map 中添加键值对:

var gifts = {'first': 'partridge'};
gifts['fourth'] = 'calling birds'; // 添加键值对

从一个 Map 中获取一个值:

var gifts = {'first': 'partridge'};
assert(gifts['first'] == 'partridge');

如果检索的 Key 不存在于 Map 中则会返回一个 null:

var gifts = {'first': 'partridge'};
assert(gifts['fifth'] == null);

使用 .length 可以获取 Map 中键值对的数量:

var gifts = {'first': 'partridge'};
gifts['fourth'] = 'calling birds';
assert(gifts.length == 2);

后面其实还有一个Runes和Symbols,但是在实际开发中真的是太少用了,所以这里暂且搁置吧。毕竟刚开始学一下子整太多的新东西也不好接受。

下节内容:函数

结语:

最近在录制视频,到时候也会免费放在公众号中供大家学习交流使用。如果对您有用请关注,如果文中有错也欢迎指正。共同学习,共同进步。

扫码关注"计算机自学平台"

原创文章 52 获赞 40 访问量 9万+

猜你喜欢

转载自blog.csdn.net/farley119/article/details/103213814