1.Booleans
-Dart 에서는 참/거짓 형을 나타내기 위한 데이터 타입으로 'bool'을 사용한다.
-bool 타입은 true/false의 boolean 리터럴 객체만 가질 수 있다.
2.Lists
-거의 모든 프로그래밍 언어에서 집합을 나타내는 가장 흔한 타입은 '배열'(arrays)일 것이다.
-Dart에서, 배열은 List 객체이므로, lists 라고 부른다.
-Dart의 list 리터럴은 자바스크립트 배열 리터럴과 유사하다.
var list = [1, 2, 3];
-독특하게도, 자바스크립트를 쓰면서 복사&붙여넣기를 하다 보면 아래와 같은 컴마 실수가 많이 나는데,
Dart에서는 마지막 항목 뒤의 컴마가 아무 영향이 없다!
var list = [
'Car',
'Boat',
'Plane',
];
-zero-based 인덱싱을 사용하기 때문에, 첫 번째 항목은 0번째 인덱스이며, list.length-1은 마지막 항목의 인덱스이다.
-list의 길이를 알고 싶을 때는 자바스크립트를 사용할 때와 동일하다.
var list = [1, 2, 3];
assert(list.length == 3);
assert(list[1] == 2);
list[1] = 1;
assert(list[1] == 1);
-Dart2.3부터는 spread operator(...)를 사용할 수 있는데, 리스트 안에 다중 값을 삽입할 때 유용하다.
var list = [1, 2, 3];
var list2 = [0, ...list]; // spread operator(...)를 사용해서 list의 항목을 모두 집어넣었다.
assert(list2.length == 4); // 총 4개의 항목이 들어가게 되었다.
-null-aware spread operator (...?)는, spread operator 오른쪽 값이 null일 수 있을 때 사용한다.
var list2 = [0, ...?list]; // null일 수도 있는 list 값을 삽입
assert(list2.length == 1); // null이였다. 그래서 0만 들어있음 > 길이 1
-if문과, for문도 list에 포함될 수 있다고 함
var nav = ['Home', 'Furniture', 'Plants', if (promoActive) 'Outlet'];
var listOfInts = [1, 2, 3];
var listOfStrings = ['#0', for (var i in listOfInts) '#$i'];
assert(listOfStrings[1] == '#1');
3. Maps
-보통, Map 타입이라 함은 key 와 value의 짝을 이루고 있는 객체를 의미한다.
-key와 value는 모두 어떤 데이터 타입이던 가능하다.
-key는 유일한 값, value는 유일하지 않아도 된다.
var gifts = {
// Key: Value
'first': 'partridge',
'second': 'turtledoves',
'fifth': 'golden rings'
};
var nobleGases = {
2: 'helium',
10: 'neon',
18: 'argon',
};
-생성자를 통해서 Map을 만드는 경우
var gifts = Map<String, String>();
gifts['first'] = 'partridge';
gifts['second'] = 'turtledoves';
gifts['fifth'] = 'golden rings';
var nobleGases = Map<int, String>();
nobleGases[2] = 'helium';
nobleGases[10] = 'neon';
nobleGases[18] = 'argon';
Java와 다르게, new Map()처럼 new 키워드를 사용해서 만들지 않는다.
-새로운 key-value 짝을 추가하려면, 자바스크립트와 동일하게 한다.
var gifts = {'first': 'partridge'};
gifts['fourth'] = 'calling birds'; // Add a key-value pair
-value 값을 가져오려면, 자바 스크립트와 동일하게 한다.
var gifts = {'first': 'partridge'};
assert(gifts['first'] == 'partridge');
-map에 포함되어 있지 않은 key를 찾고자 한다면, null이 리턴된다.
var gifts = {'first': 'partridge'};
assert(gifts['fifth'] == null);
-.length를 사용하여 key-value 짝이 몇개 있는지 구한다.
var gifts = {'first': 'partridge'};
gifts['fourth'] = 'calling birds';
assert(gifts.length == 2);
'DART' 카테고리의 다른 글
[Dart] Dart의 함수 - Functions in Dart (0) | 2022.05.03 |
---|---|
[DART] Dart의 기본 데이터 타입(1) (int, double, String) Built-in Types in Dart (0) | 2022.04.13 |
[DART] 상수와 final / const 키워드에 대하여 - Final and const (0) | 2022.04.11 |
[DART] Dart의 변수와 초기화 - Variables in Dart (0) | 2022.04.08 |
[DART] Dart의 중요 개념 - 항상 숙지할 것! - Important Concepts of Dart (0) | 2022.04.07 |
댓글