Dart 기초2

이제우·2024년 10월 4일

Dart의 데이터 타입

  • String : "안녕하세요"
  • int : 123
  • double : 1.232
  • boolean : true/false
  • List : [1, 2, 3, 4]
  • Map : {key : value, key2 : value2}
  • Set : {1, 2, 3, 4}

Dart의 데이터 타입은 모두 class로 이루어져 있어서 데이터 타입에 따라 Method를 자유롭게 사용할 수 있다.

String

문자열 타입.

void main(){
	String a = "hello";
}

int

정수 타입.
소수점 불가능

void main(){
	int a = 123;
}

double

실수 타입.

void main(){
	double a = 1.125424;
}

num

int와 double 클래스를 살펴보면 둘 다 num을 참조하고 있다는 사실을 알 수 있다.

num은 int와 double의 부모 class로 int와 double 값을 모두 가질 수 있으나 잘 사용하지 않는다.

void main(){
	num a = 12;
    a = 12.3232;
}

boolean

논리 타입.

void main(){
	boolean a = true;
    a = false;
    
    a = !a;
}

List

리스트 형식으로 값을 담는다.

void main(){
	List<int> numbers = [1, 2, 3, 4];
}

List<타입> 리스트 = [값, 값] 또는 var 리스트 = [값, 값] 으로 선언하며
여러타입을 넣고 싶다면 object 타입을 넣으면 된다.

리스트의 마지막 값에도 ,를 넣으면 dart가 알아서 정렬을 해준다.

void main(){
	List<int> a = [1, 2, 3, 4]; // 정렬 안됨
    List<int> b = [
    	1,
        2,
        3,
        4,
    ];
}

collection if 라는 기능으로 조건문으로 list에 값을 넣을 수 있다.

void main(){
	boolean chk = true;
    List<int> a = [
    	1,
        2,
        3,
        4,
        if(chk) 5,
    ];
    print(a); // [1, 2, 3, 4, 5];
    
    boolean chk = true;
    List<int> b = [
    	1,
        2,
        3,
        4,
        chk ? 6 : 5,
    ];
    print(b); // [1, 2, 3, 4, 6]; // 삼항 연산자도 잘 적용된다.
}

collection for 라는 기능으로 list 재가공도 간편하게 할 수 있다.

void main(){
	List<int> a = [1, 2, 3, 4]; // 정렬 안됨
    List<int> b = [
    	1,
        2,
        3,
        4,
        for(var num in a) a
    ];
    
    print(b); // [1, 2, 3, 4, 1, 2, 3, 4]
}

String Interpolation 라는 기능을 사용하여 문자열 사이에 변수를 넣을 수 있다.
$+변수으로 넣으면 된다.

${변수} 구조로 변수를 재가공할 수도 있다.

void main(){
	String name = "jinjin";
    
    print("hello! my name is $name"); // hello! my name is jinjin
    
    int num = 1;
    
    print("one plus one equals ${num+1}"); // one plus one equals 2
}

Map

key와 value로 이루어진 타입.

void main(){
	Map<int, boolean> temp = {1: true, 2: false};
}

Set

List와 구조는 동일하지만 Set의 값들은 유니크하다.

void main(){
	Set<int> temp = {1, 2, 3};
    
    temp.add(1);
    temp.add(2);
    
    print(temp); // 1, 2, 3, 1, 2가 아닌 1, 2, 3이 출력된다.
}
profile
게으른 사람 중에 제일 부지런하게 사는 사람이 꿈

0개의 댓글