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,但是在实际开发中真的是太少用了,所以这里暂且搁置吧。毕竟刚开始学一下子整太多的新东西也不好接受。
下节内容:函数
结语:
最近在录制视频,到时候也会免费放在公众号中供大家学习交流使用。如果对您有用请关注,如果文中有错也欢迎指正。共同学习,共同进步。
扫码关注"计算机自学平台"