본문 바로가기

IT 일기/Flutter!

Dart를 빠르게 알아보자 - Data Type!

728x90

1. Basic Data Types!

void main() {
  String name = "gyu";
  bool isTrue = true;
  int age = 25;
  double money = 12.1;
}

기본적인 Data type은 String, bool, int, double 등이 있다(다른 언어와 같음). 그리고 각 Data type은 class로 이루어져 있으므로 name. 을 통해 해당 타입의 메소드를 확인하고 사용할 수 있다!

 

2. List!

void main() {
  var giveMefive = true;
  var numbers = [
    1,
    2,
    3,
    if (giveMefive) 5,
  ];
  numbers.add(1);
  numbers.length;
  numbers.first;
  numbers.last;
  numbers.isEmpty;

  print(numbers);
}

list도 클래스로 만들어졌으므로 numbers. 을 통해 여러 메소드를 사용할 수 있다. 또한 collection if라는 기능이 있는 numbers를 초기화 하는 과정에서 한 요소에 if (giveMefive) 5를 통해 "해당 값이 true면 5를 넣어라"라는 의미이다.

 

3. String Interpolation!

void main() {
  var name = "gyu";
  var age = 25;
  var greeting = "hello my name is $name! and I'm ${age + 2}";
  print(greeting);
}

String 변수에서 다른 변수를 사용하는 방식이다. $를 통해 변수를 생성하고 정수를 계산해야 하는 상황에선 {}을 통해 계산을 한다.

 

4. Collection For!

void main() {
  var oldFriends = ['a', 'b', 'c'];
  var newFriends = [
    'd',
    'e',
    'f',
    for (var friend in oldFriends) "NEW $friend",
  ];
  print(newFriends);
}

위의 collection if와 같이 list 내부에서 사용이 가능한 for 반복문이다. String Interpolation의 기능을 사용해 기존의 값을 수정하며 값을 추가할 수 있다!

 

5. Map!

void main() {
  var player = {
    'name': 'gyu',
    'power': 12,
  };

  Map<String, int> maps = {
    '1': 1,
    '2': 2,
    '3': 3,
  };
  
  print(maps['1']);
  print(player['name']);
}

두가지 방식으로 선언 및 초기화 할 수 있다. key, value의 타입으로는 String, int 뿐만 아니라 List[], bool등 모든 data type이 들어올 수 있다. (List도 마찬가지!)

 

6. Set!

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

파이썬에서의 Tuple과 같다. 중복을 제거해준다! Unique하다!

728x90