본문 바로가기
Dart

[Dart] 기본문법 Data types

by 루에 2023. 1. 10.
반응형

기본 타입

타입은 모두 class로 되어 있고 class는 object로 되어 있는 강력한 객체 지향적 언어

void main() {
  String name = "name";
  bool alive = true;
  int age = 12;
  double money = 69.99;
  num x = 12; 	// int or double or ...
  x = 1.1;	// 가능
  
}

 

List

[] 안에 데이터를 넣어 선언하고 var혹은 타입을 명시할 수 있다. collection if와 collection for를 지원.

void main() {
  // list 선언
  var numbers = [1,2,3,4];
  List<int> numbers2 = [1,2,3,4];
  
  numbers.add(1);	// var 이므로 추가 가능
  
  // collection if, collection for 지원
  
  // collection if
  var giveMeFive = true;
  var num = [
  	1,
    2,
    3,
    4,
    if(giveMeFive) 5,	// collection if. if조건이 true일 때 add한다.
  ];
}

 

String interpolation

문자열에 변수를 넣는 방법

$변수

${수식}

변수 부분에는 {}를 붙여 수식이나 변수에 다른 값을 더해 출력하는 등 가능

 

collection if

조건에 맞으면 list에 element를 add한다.

collection for

for문을 돌려 element를 add한다.

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

 

Maps

Key:Value로 이루어진 객체. Java의 Map보다는 javascript의 object에 더 가까운 듯.

vod main() {
  // 타입 비명시
  var player = {
    'key1': 'nini',
    'key2': 19.99,
    'superpower': false
  }	// Map<String, Object> 타입으로 인식됨
  
  // 타입 명시
  Map<int, bool> player2 = {
    1: true,
    2: false,
    3: true
  }
}

 

Sets

List와의 차이점은 set의 엘리먼트들은 유니크함

vod main() {
  // set 선언
  var numbers = {1,2,3,4};
  Set<int> numbers = {1,2,3,4};
  
  numbers.add(1);
  numbers.add(1);
  numbers.add(1);
  numbers.add(1);
  
  print(numbers);	// {1,2,3,4} 유니크하므로 이렇게 출력됨
}
반응형

댓글