[Dart] Data Types

Dart에서 데이터 타입 사용 방법에 대해 알아보겠습니다.

기본 데이터 타입

Dart에는 대표적으로 String, bool, int, double, num 타입이 있습니다. 중요한 점은 이 모든 게 객체(object)라는 것입니다.

Dart가 진정한 객체 지향 언어로 불리는 이유입니다.

1
2
3
4
5
6
7
8
void main() {
String name = "eden";
bool isPlay = true;
int age = 3;
double money = 59.99;
num x = 12;
num y = 1.2;
}

String Interpoldation

String Interpoldation은 텍스트에 변수를 추가하는 방법입니다.

단순히 변수의 값을 넣고 싶다면 $달러 기호 뒤에 사용할 변수를 적어주면 됩니다. 변수의 값을 계산하고 싶다면 $와 함께 중괄호(`${ })내에 계산할 내용을 적어주면 됩니다.

1
2
3
4
5
6
void main() {
var name = "eden";
var age = 3;
var greeting = "hello $name, I'm ${age + 5} years old.";
print(greeting);
}

Lists

Dart에서 List를 선언하는 것은 두 가지 방법이 있습니다.

1
2
3
4
5
6
void main() {
List<int> numbers = [1, 2, 3];
numbers.add(4);

var number2 = [4, 5, 6];
}

Dart에서 List의 유용한 점은 collection ifcollection for를 지원합니다.

collection if

collection if는 List를 만들 때, if를 통해 존재할 수도 안 할 수도 있는 요소를 가지고 만들 수 있습니다.

1
2
3
4
5
6
7
8
9
10
11
void main() {
var giveMeFive = true;
var item = [
1,
2,
3,
4,
if (giveMeFive) 5, // giveMeFive가 true이면 5가 추가됨
];
print(item);
}

Collection For

Dart에서는 반복(for)을 사용하여 컬렉션을 구축하는 데 사용할 수 있는 Collection for를 제공합니다.

1
2
3
4
5
6
7
8
9
10
void main() {
var oldFriends = ["ko", "lee"];
var newFriends = [
"eden",
"woorim",
for (var friend in oldFriends) "🥰 $friend"
];

print(newFriends); // [eden, woorim, 🥰 ko, 🥰 lee]
}

Maps

일반적으로 Map은 key와 value를 연결하는 객체입니다. 키와 값 모두 모든 유형의 객체가 될 수 있습니다. 각 키는 한 번만 발생하지만 동일한 값을 여러 번 사용할 수 있습니다.

Map을 정의하는 방법은 두 가지가 있습니다. 첫 번째는 var 를 이용한 방법입니다. 두 번째는 var 대신 Map 을 사용하고, 자료형을 명시하는 것입니다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
// 첫 번째
var gifts = {
// Key: Value
'first': 'smartphone',
'second': 'laptop',
'third': 'bicycle'
};

// 두 번째
Map players = {
1 : true,
2 : false,
3 : true,
};
1
2
3
4
5
// Map 생성자를 사용하여 동일한 객체를 만들 수 있습니다.
var gifts = Map();
gifts['first'] = 'smartphone';
gifts['second'] = 'laptop';
gifts['third'] = 'bicycle';

Sets

Set에 속한 모든 아이템들이 유니크해야 될 때 사용합니다. 유니크할 필요가 없다면 List를 사용하면 됩니다.

Set도 두 가지 방법으로 정의할 수 있습니다.

1
2
3
4
5
6
7
8
9
10
void main() {
var numbers1 = {1, 2, 3};
Set numbers2 = {1, 2, 3};

Set<int> numbers3 = {1, 2, 3};
numbers3.add(1);
numbers3.add(2);
numbers3.add(4);
print(numbers3) // {1, 2, 3, 4}
}

List는 대괄호를 쓰며 Set은 중괄호를 쓴다는 점이 다릅니다. List는 같은 요소가 여러 개 반복될 수 있지만, Set은 중복이 허용되지 않습니다.

참고

Share