-
Dart 언어 타입 (type)Programming/Dart 2020. 6. 3. 14:25
https://dart.dev/guides/language/language-tour#built-in-types
참고하여 작성하였습니다.
1. numbers
2. strings
3. booleans
4. lists
5. sets
6. maps
1) numbers
int, double 두가지 타입이 있으며 num 의 subtype 입니다.
main() { int a = 1; double b = 1.42e5; print(a); // 1 출력 print(b); // 142000 출력 }
main() { int a = 1; double b = a; // error 자동으로 타입을 변환해 주지 않는다 double b = a as double; // ok 타입을 변환해줘야 된다. }
2) Strings
string 은 sing quotes, double quotes 로 만들 수 있습니다.
main() { String name = '홍길동'; // sing quote String color = "green"; // double quote print(name); print(color); }
string ${expression} 표현식으로 문자열을 표현할 수 있습니다.
main() { String name = '홍길동'; print("내 이름은 ${name} 입니다."); // 내 이름은 홍길동 입니다. 출력 }
멀티라인 string 은 ''', """ 로 만들 수 있습니다.
main() { // 멀티라인 string 은 ''' 혹은 """ 로 생성할 수 있습니다. String story = ''' 안녕하세요! 저는 서울에 삽니다. '''; String story2 = """ 안녕하세요. 날씨가 좋습니다. """; print(story); /** 안녕하세요! 저는 서울에 삽니다. */ print(story2); /** 안녕하세요. 날씨가 좋습니다. */ }
3) List
Dart 언어에서는 List 가 array 입니다.
main() { var list = [1,2,3]; // List 생성 print(list); // [1, 2, 3] print(list.length); // 3 출력, List 의 길이 list[1] = 1; // index 1 값을 1 로 변경 print(list); // [1,1,3] 출력 }
Dart 2.3 부터 spread 연산자(spread operator) 를 지원합니다. spread 연산자를 사용하면 List 의 모든 엘리먼트를 다른 List 에 추가할 수 있습니다.
main() { // spread 연산자 사용방법 var list = [1, 2, 3]; var list2 = [0, ...list]; // list 의 엘리먼트들을 추가한다. print(list2); // [0, 1, 2, 3] }
Dart 2.3 부터 null-aware spread operator (...?) 연산자가 추가 되었습니다. ...? 오른쪽 List 가 null 일경우 다른 List 에 엘리먼트를 추가 하지 않습니다. 따라서 에러가 발생하지 않습니다.
main() { // null-aware spread operator (...?) 사용방법 var list; var list2 = [0, ...list]; // list 가 null 이기 때문에 spread 연산자를 사용하면 에러가 발생한다. print(list2); // error var list3 = [0, ...?list]; // list가 null 일경우 list3 에 추가되지 않기 때문에 에러를 발생시키지 않는다. print(list3); // [0] 출력 }
4) Map
Map은 key, value 로 연결되는 object 입니다. key, value 는 둘다 어떤 타입도 가능합니다.
main() { // Map<String, String> var colors = { 'first': 'red', 'second': 'blue', 'third': 'green' }; print(colors); // {first: red, second: blue, third: green} // Map<int, String> var items = { 1: 'one', 2: 'two', 3: 'three' }; print(items); // {1: one, 2: two, 3: three} }
Map 생성자를 사용할 수도 있습니다.
main() { var colors = Map(); colors['first'] = 'red'; colors['second'] = 'blue'; colors['three'] = 'green'; print(colors); // {first: red, second: blue, three: green} // javascript 처럼 key-value 쌍을 기존 Map 에 추가할 수 있습니다. colors['fourth'] = 'yellow'; print(colors); // {first: red, second: blue, three: green, fourth: yellow} }
'Programming > Dart' 카테고리의 다른 글
Dart 언어의 const vs final 의 차이 (0) 2020.05.31 Dart 언어의 개요 (0) 2020.05.30