레코드는 3.0 이상부터 지원
레코드는 불변성
을 지니며 여러 타입의 값들을 저장하는 익명 객체다 .
var practice = ("first", a:1090,b:3.15,[1,3,4]);
print(practice); //(first, [1, 3, 4], a: 1090, b: 3.15);
(String, int) record;
record = ("A ",44);
print(record);
({String a, int b}) record;
record = (a:"4",b:44);
또한 레코드는 변수를 저장, 함수 전달, map,set 같은 구조에 저장할수있음.
var practice = ("first",3);
print(practice.$1); // first
print(practice.$2); // 3
Dart는 []
로 표현식을 통해 list 를 표현한다
var list = [1,2,3];
리스트와 동일하나 중복값을 허용하지않는다
var setPractice= {"3","4"};
var setPractice=<String>{};
setPractice.add("33"); //중복값제외 .
final constantSet= const{"a","b"};
key,value형태의 쌍으로 이루어져 여러쌍이 배열로 이루어지는것
var dartMap = {a:"324234",b"234324"}
var dartMap = Map<String,int>();
dartMap['first']=12;
final dartMap = const {a:"134",b:"234"} // 상수도 가능
...
을 통해 여러값을 한번에 간결하게 삽입하는 방식
var list = [1,2,3];
var spreadlist=[0,...?list]; //이런식으로 nullable체크도가능
print(spreadlist); // 0,1,2,3,