Dart是一門面向?qū)ο蟆㈩愃朴贘ava、JavaScript的語(yǔ)言,具有強(qiáng)靜態(tài)類型和高效的執(zhí)行速度。在Dart中,List、Map和Json是三個(gè)很重要也很常用的概念。
List是Dart中經(jīng)常使用的集合數(shù)據(jù)類型之一,可以存儲(chǔ)一組有序、可重復(fù)的元素。例如:
List<int> numbers = [1, 2, 3, 4, 5]; print(numbers.length); // 輸出 5 print(numbers[1]); // 輸出 2
上面的代碼中,我們定義了一個(gè)List類型的變量numbers,同時(shí)初始化了其值。List中的元素可以使用下標(biāo)訪問(wèn),下標(biāo)從0開始,例如numbers[1]就是返回第二個(gè)元素2。
Map是Dart中另一個(gè)常用的集合類型,用于存儲(chǔ)一組無(wú)序、不重復(fù)的鍵值對(duì)。例如:
Map<String, String> person = { 'name': '張三', 'age': '20', 'address': '北京' }; print(person['name']); // 輸出 張三
上面的代碼中,我們定義了一個(gè)Map類型的變量person,并初始化了其鍵值對(duì)。Map中的值可以使用鍵訪問(wèn),例如person['name']返回的是張三。
Json是一種輕量級(jí)的數(shù)據(jù)交換格式,也是Web前端開發(fā)中常用的數(shù)據(jù)格式。在Dart中,我們可以使用json.decode將json字符串轉(zhuǎn)換成相應(yīng)的Dart對(duì)象。例如:
import 'dart:convert'; void main() { String jsonData = '{"name": "張三", "age": 20}'; Map<String, dynamic> decoded = json.decode(jsonData); print(decoded['name']); // 輸出 張三 }
上面的代碼中,我們首先導(dǎo)入了dart:convert庫(kù),然后定義了一個(gè)json字符串jsonData,將其使用json.decode方法轉(zhuǎn)換成Map類型的decoded,并訪問(wèn)其中的鍵name。