[ Dart ] 03. 자료형과 자료구조

duck-ach·2024년 10월 13일
0

Dart

목록 보기
4/8

🦋 자료형(Data Type)

Dart 언어는 다음과 같은 자료형을 지원한다.

1. Numbers(int, double)

숫자(Number)를 나타내는 자료형에는 intdouble을 지원하며, int와 double의 부모 클래스인 num 도 지원한다.

int

int 형은 정수를 나타낼 때 쓰이며, 사용하는 플랫폼에 따라서 정수 값은 64비트 이하로 표현된다.

  • 네이티브 플랫폼에서는 -263 ~ 263 - 1 까지 표현된다.
  • 웹에서는 Javascript numbers (가수부가 없는 64-bits 부동소수점 표현) -253 to 253 - 1 사이의 수로 표현된다.

예시

var num = 2345834532;
int one = 1;
int two = 2;
int age = 25;

double

double 형은 소수를 나타낼 때 쓰이며 IEEE 754 standard를 따라 64-bit (배정도) 부동 소수점 표현을 사용한다.

숫자가 소수점을 가지고 있다면 double 형이라고 생각하면 된다.
예시

var percent = 35.22222222;
double price = 25.99;
double average = 97.8;

num

num 형은 int형과 double형의 부모 클래스로써 정수가 될 수도, 소수가 될 수도 있는 자료형태이다.

예시

num x = 1; // x는 int, double 둘 다 가능합니다.
x += 2.5;

2. Strings(String)

String

String 형은 문자열을 만들 때 사용되며 작은 따옴표, 큰 따옴표 모두 사용이 가능하다.

예시

var hello = "안녕하세요";
var name = 'duck';
String fruit = "mango";

3. Booleans(bool)

bool

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

🦋 자료구조(Data Structure)

1. List

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]

2. Map

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}

3. Set

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}
profile
자몽 허니 블랙티와 아메리카노 사이 그 어딘가

0개의 댓글