나만의 개발노트

[Dart] data type(데이터 타입) 본문

[Flutter]/[Dart]

[Dart] data type(데이터 타입)

노트포미 2024. 7. 13. 03:05

1. 기본 자료형

  • String : 문자열
  • bool : true, false를 갖는 자료형
  • num : 수
  • int : 정수 (num 상속받음)
  • double : 유리수 (num 상속받음)

: 거의 대부분의 자료형은 class로 , 객체화 되어 있다.(object)


2. List

: 기본 자료형 여러개를 저장할 수 있는 타입

 

[선언 방법]

void main(){
	//var 키워드 사용
    var numbers1 = [1,2,3,4,]; //마지막 ,필요
    
    //자료형 명시
    list<int> numbers2 = [1,2,3,4,];
}

 

 

[collection if]

: if문이 만족한다면, 추가해라

void main(){
	var check = true;
    
	var numbers = [
    1,
    2,
    3,
    4,
    if(check) 6, //if check가 true이면, 6을 추가해라
    ];
}

//동일한 기능
void main(){
	var check = true;
	
    var numbers = [
    ...
    ];
    
    if(check) numbers.add(6);
}

 

*Formating (list 1열로 나열) 하는 방법

vscode 설정 -> Editor: Format On Save 검색후 체크


3. String Interpolation (문자열 바인딩)

: 표현식 안에 문자열을 넣는 것

$ 키워드를 사용한다

void main(){
	var name = 'abc';
    var age = 20;
    //문자열 단순 첨부 : $변수명
    //변수 계산 후 첨부 : ${계산식}
    var greeting = "Hello, My name is $name and I'm ${age + 4} years old."
    print(greeting);
    //output : Hello, My name is abc and I'm 24 years old.
}
  • 이미 선언 되어 있는 변수만 사용 가능

4. Collection for

: 다른 list의 원소를 불러오는 기능

void main(){
	var oldFriends = ['A', 'B',];
    var newFriends = [
    	'C',
        'D',
        'E',
        //oldFriends의 원소 friend에 대해서 앞에 old_ 추가해서 newFriends 원소 추가해라
        for(var friend in oldFriends) 'old_$friend',
        ];
        
    print(newFirends);
    //output : C, D, E, old_A, old_B
}

5. Maps

: key값과 value값을 지정할 수 있는 자료 구조

void main(){
	//컴파일러가 자동으로 map<String,Object>으로 선언
	var players = {
    	'name' : 'abc';
        'px' : 10.12;
        'power' : false;
    };
    
    //모든 요소?의 데이터 타입이 동일하면 Object가 아닌 해당 데이터 타입
}
  • Object 는 여러 데이터 타입을 나타냄
  • 그러나, Map보다 class 사용 권장

6. Sets

: 집합

void main(){
	//Set
    var numbers1 = {1,2,3,4,};
    numbers1.add(1);
    numbers1.add(1);
    print(numbers1);
    
    //List
    var numbers2 = [1,2,3,4,];
    numbers2.add(1);
    numbers2.add(1);
    
    print(numbers1); //[set] output : 1,2,3,4
    print(numbers2); //[list] output : 1,2,3,4,1,1
  • List과 거의 비슷
  • list와의 차이점
    1. set : 중괄호 vs list : 대괄호
    2. set : 중복 안됨 vs list : 중복 허용 

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

[Dart] class2 - Cascade Notation / Enums  (0) 2024.07.16
[Dart] Class 1 - Class / Constructor / Named Constructor  (0) 2024.07.15
[Dart] Functions (함수)  (0) 2024.07.13
[Dart] Variables(변수)  (1) 2024.07.12