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,但是在實際開發中真的是太少用了,所以這裏暫且擱置吧。畢竟剛開始學一下子整太多的新東西也不好接受。
下節內容:函數
結語:
最近在錄製視頻,到時候也會免費放在公衆號中供大家學習交流使用。如果對您有用請關注,如果文中有錯也歡迎指正。共同學習,共同進步。
掃碼關注"計算機自學平臺"