다트(Dart)언어

다트(Dart) - 데이터 타입(DATA TYPES)

백코딩 2023. 9. 10. 20:22
728x90

기본 데이터 타입

 

아래 타입을 포함한 거의 대부분의 타입들이 객체로 이루어져 있다.(함수도 객체)

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

void main(){
  String name = 'chan';
  bool isPlay = true;
  int age = 10;
  double money = 52.55;
  num x = 12;
  num y = 15;
}

dart에서 자료형은 모두 객체이다. String, int, double, bool 모두  class이다.

따라서 import할 필요 없이 해당 자료형이 가지는 모든 method를 사용할 수 있다.

 

dark에서 list를 선언하는 것은 두 가지 방법이 있다.

void main(){
  var numbers = [1,2,3,4,5];
}

만약 vscode나 dartPad를 사용한다면 맨  끝을 쉼표로 마무리하면 유용하다.

void main(){
  var aaa = true;
  var numbers = [1,2,3,4,5
  , if(aaa) 6,
  ];
  if(aaa){
    numbers.add(7);
  }
  print(numbers);
}

dart의 유용한 점은 'collection if'와 'collection for'을 지원하는 것이다.

collection if를 사용하면 '존재할 수도 안할 수도 있는 요소를 가지고 올 수 있다.

 

String interpolation은 text에 변수를 추가하는 방법이다.

 

변수 사용하는 방법

$ 달러 기호를 붙이고 사용할 변수를 적어주면 된다. 만약 무언가를 계사하고 싶다면 ${}형태로 적어주면 된다.

void main(){
  var name = 'nico';
  var age = 25;
  var greeting = 'Hello everyone, my name is $name and I`m ${age + 2}';
  print(greeting);
}

 

Collection For

Dart는 조건문(if) 및 반복(for)을 사용하여 컬렉션을 구축하는 데 사용할 수 있는 컬렉션 if 및 컬렉션 for도 제공합니다.

void main(){
  var oldFrinds = ['nico', 'lynn'];
  var newFriends =[
    'lewis',
    'ralph',
    'darren',
    for(var friend in oldFrinds) "!!$friend",
  ];
  print(newFriends);
}

 

MAPS

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

void main(){
  List<Map<String, Object>> players = [
    {'name' : 'nicom', 'xp' : 199993.999}
    {'name' : 'nicom', 'xp' : 199993.999}
  ];
}

 

Sets

Set에 속한 모든 아이템들이 유니크해야될 떄 사용한다.

유니크할 필요가 없다면 List를 사용하면 된다.

void main(){
  Set<int> numbers = {1,2,3,4};
  // var numbers = {1,2,3,4}
  numbers.add(1);
  numbers.add(1);
  numbers.add(1);

  print(numbers);
}
728x90