DART

[DART] Dart의 기본 데이터 타입(2) (Booleans, Lists, Maps) Built-in Types in Dart

예나부기 2022. 4. 28.

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);

댓글