Dart 언어는 다음과 같은 자료형을 지원한다.
숫자(Number)를 나타내는 자료형에는 int
와 double
을 지원하며, int와 double의 부모 클래스인 num
도 지원한다.
int 형은 정수
를 나타낼 때 쓰이며, 사용하는 플랫폼에 따라서 정수 값은 64비트 이하로 표현된다.
예시
var num = 2345834532;
int one = 1;
int two = 2;
int age = 25;
double 형은 소수
를 나타낼 때 쓰이며 IEEE 754 standard를 따라 64-bit (배정도) 부동 소수점 표현을 사용한다.
숫자가 소수점을 가지고 있다면 double 형이라고 생각하면 된다.
예시
var percent = 35.22222222;
double price = 25.99;
double average = 97.8;
num 형은 int
형과 double
형의 부모 클래스로써 정수가 될 수도, 소수가 될 수도 있는 자료형태이다.
예시
num x = 1; // x는 int, double 둘 다 가능합니다.
x += 2.5;
String 형은 문자열
을 만들 때 사용되며 작은 따옴표, 큰 따옴표 모두 사용이 가능하다.
예시
var hello = "안녕하세요";
var name = 'duck';
String fruit = "mango";
Dart는 Boolean 타입을 bool
로 명명했다.
bool은 true(참) 또는 false(거짓)을 나타낼 때 사용된다.
예시
// 빈 문자열인지 확인합니다.
var fullName = '';
assert(fullName.isEmpty);
// 0인지 확인합니다.
var hitPoints = 0;
assert(hitPoints <= 0);
// null인지 확인합니다.
var unicorn = null;
assert(unicorn == null);
// NaN인지 확인합니다.
var iMeantToDoThis = 0 / 0;
assert(iMeantToDoThis.isNaN);
Java의 List와 별 다른점이 없다.
중복값을 추가할 수 있으며, 그냥 add(값) 을 하면 맨 뒤에 데이터가 추가되고, add(index)를 하면 해당 index에 값을 추가할 수도 있다.
[] 대괄호
로 표현한다.
var 로 선언해도 []
를 통해 컴파일러가 List로 인식한다.
예시
var numbers = [1, 2, 3, 4]; // var 키워드 사용해도되고
List<int> numbers2 = [
1,
2,
3,
4,
if (true) 5,
]; // Type을 명시해줘도됨
print(numbers); // [1, 2, 3, 4]
print(numbers2); // [1, 2, 3, 4, 5]
Map도 Java의 Map이랑 다른점이 없다.
key:value
의 형태이며, key값은 고유하다.
var로 선언해도 key:value
형태를 통해 컴파일러가 Map으로 인식한다.
예시
var player = {
'name': 'nico',
'xp' : 19.99,
'superpower' : false,
};
Map<List<int>, bool> compEx = {
[1,2,3,5]: true,
};
print(player); // {name: nico, xp: 19.99, superpower: false}
print(compEx); // {[1, 2, 3, 5]: true}
Set도 Java의 Set이랑 다른점이 없다.
Set을 통해 데이터를 취합하면 중복값
은 없어져서 중복값이 없어진 데이터 Set이 된다.
{} 중괄호
로 표현한다.
var로 선언해도 {}
를 통해 컴파일러가 Set으로 인식한다.
예시
var numbered = {1,2,3,4};
numbered.add(1);
numbered.add(4);
numbered.add(3);
numbered.add(1);
numbered.add(1);
print(numbered); // {1,2,3,4}