본문 바로가기

Flutter/Dart

Dart - Data Type 데이터 타입

반응형

#  Basic Data Types

   String  name = '공부중';

   bool  alive = true;

   int  age = 12;

   double  money = 5005.2;

   num x = 12;

   x = 1.2;

   //  모든 자료형은 class이다.

   //  int와 double은 num 클래스를 상속 받음. num 자료형을 사용하면 int 일수도 double 일 수도 있다.

 

 

#  Lists

   -  리스트 생성

   var  numbers  =  [1, 2, 3, 4];                            // Type : List<int>

   List<int>  numbers  =  [1, 2, 3, 4];               //  이렇게도 가능

   * vscode 나 dartpad 사용시 리스트 마지막을 ,(쉼표)로 마무리 해주면 여러 줄로 자동 포매팅 된다.

   **dartpad에서 안될 시 전체선택 후 자동 Formatting 단축키 (Shift+Ctrl+F) 누르면 된다.

   

   -  collection if 지원

   if로 존재할 수도 안할 수도 있는 요소를 만들 수 있다.

   var giveMeFive = true;

   var numbers = [

   1,

   2,

   if (giveMeFive)  5,

   ];

 

추가설명  String Interpolation  문자열 보간 - 문자열 안에 변수를 배치

   사용방법 : $변수이름  / 계산이 필요할 때 : ${변수이름과 수식}

   var  name  = '공부중';

   var  age = 12;

   var  greeting = 'Hello everyone, my name is $name and I\'m ${age +2}!' ;

 

 -  Collection For  지원        // 로그인 했을 때 버튼 생성

   var  oldFrineds  =  ['공부','중임',];

   var  newFriends  =  [

      '임공',

      '부중',

      for(var  friend  in oldFriends) "♥ $friend"

    ];

   print(newFrineds);

   결과 : [임공,  부중, ♥ 공부, ♥ 중임]   

 

 

#  Maps  자료구조

   var  player  = {

     'name' : '공부중',

     'xp' : 19.99,

     'superpower': false,

   };          //  Type: Map<String, Object>  String으로 이루어진 key와 Object인 value로 이루어진 자료구조 Map 

              //  Object는 TypeScript 에서 any라고 적는 것과 같다

   Map<int,bool>  player  = {

      1: true

   };

   Map<List<int>, bool>= {

     [1, 2, 3 ] : false

   };

   List<Map<String, Object>> players = [

];

   * Map도 메소드와 property를 가지고 있음   

   ** key와 value를 가지는 구조로 object를 만들 때, api로 얻은 데이터일 때 map보다는 class를 사용하기를 추천

 

 

#Sets

   - Set 생성

   var numbers = {1, 2, 3, 4};

   Set<int>  numbers = {1, 2, 3, 4};

   - Set 과 List의 차이점

   Set에 속한 아이템들은 값이 모두 유니크하다. - 아무리 1을 많이 추가해도 하나밖에 없음.

   유니크 할 필요가 없다면 List  사용

   

반응형

'Flutter > Dart' 카테고리의 다른 글

Dart Map - entries, asMap  (0) 2023.02.10
Dart List - forEach, map, reduce, fold  (0) 2023.02.10
Dart Class 클래스  (0) 2023.02.09
Dart Functions 함수  (0) 2023.02.08
Dart Variables - 변수  (0) 2023.02.06