플러터(flutter) & 다트(dart)

플러터 flutter를 위한 다트 기본 문법 (int,dynamic,Null Safety,final,const,late)

이거시원조랑께 2024. 1. 20. 00:51
반응형

 

 

dart는 js, c와 같이 기존의 언어와 비슷한 점이 많다

 

int 정수형

double 실수형

bool 논리형

String 문자형

var 추론형 (알아서 추론해 주기 때문에 그냥 이거 쓰면 된다)

int num1 = 3;
double num2 = 3.5;
bool isResult = True;
String name = '홍길동';

var num10 = 1;
var num11 = 3.5;
var isTrue = False;
var name2 = '이순신';

 

dynamic 자유형

변수에 넣을 수 있는 데이터 형을 자유롭게 바꿀 수 있다.

단, 잘 사용하지 않는다

dynamic car = 'benz';
car = 10; //가능

 

Null Safety (널 안정성)

dart는 기본적으로 null 값을 허용하지 않음.

따라서 먼저 null값으로 선언하고 추후에 사용해야 하는 변수일 경우 String? 과 같이?를 넣어서 null을 허용해줘야 함

String name = null; //불가능
String? name2 = null; //가능


print(name2.length); // 불가능
print(name2?.length); // 가능
//출력
null

String? name3 = null;
String result = name3 ?? '홍길동'; //name3가 null값일 경우 기본값으로 '홍길동'을 사용해라
print(result);

//출력
홍길동

 

 

|| 논리 합 (or)

&& 논리 곱 (and)

! 논리 부정 (not)

조건? 참일 때 : 거짓일 때 3항 연산자

 

위 4가지 모두 적용된다

 

final vs const

공통점: 둘 다 한번 값이 선언되면 이후에 변경할 수 없음

차이점: const가 final보다 더 엄격함, 선언 시에 값도 할당해야 함 (컴파일 시기에 지정되어야 한다)

final int num1; 
num1 = 3

final int num1 = 3; // 둘다 가능


const int num2 = 5; // 가능

const int num2; //불가능

 

late: 향후에 값을 지정할 것을 약속하는 문법

(dart는 기본적으로 null값을 허용하지 않는다)

String name1; // 불가능

late String name2; //가능

//코드


name = '홍길동';

 

if 조건문

int age = 30;

if(age == 10){
	print("미성년자 입니다.");
} else{
	print("성인입니다.");
}

//출력
성인입니다.

 

switch 조건문

String grade = 'A';
switch (grade) {
	case 'A':
    	print('우수 등급');
        break;
    case 'B':
    	print('보통 등급');
        break;
    default:
    	print('해당 사항 없음');
        break;
}

 

for 반복문

for (int i = 0; i<5 ; i++){
	print('$i 입니다'); //$은 변수 활용때 사용
}

//출력
0 입니다.
1 입니다.
2 입니다.
3 입니다.
...

 

while 반복문

int count = 0;
while(count < 3){
	print($count);
    count += 1;
}

//출력
0
1
2

 

 

List: 순서가 있는 데이터 컬렉션, 인덱스로 접근 가능

List<int> numbers = [1,2,3,4,5];

print(numbers[2]);
//출력
3

numbers.add(6); //요소 추가 [6,1,2,3,4,5]

//리스트 값 하나씩 출력하기
for (int i = 0; i <numbers.length ; i++) {
	print(' $i ${numbers[i]}'); //${}으로 변수 접근 가능, 간단할때는 $만 사용
}

 

Map: 키와 값의 한 쌍으로 저장하는 컬렉션

Map<키의 데이터형, 값의 데이터형> 변수 = {};

Map<String, int> scoreMap = {
	'홍길동': 100,
    '이순신': 70,
};

print(scoreMap['홍길동']);
//출력
100

//값 추가하기
scoreMap['장발장'] = 50;

scoreMap.forEach((key,value){
	print('$key의 점수는 $value 입니다.');
});

//출력
홍길동의 점수는 100 입니다.
이순신의 점수는 70 입니다.
...

 

 

 

 

 

 

 

 

https://dartpad.dev

 

DartPad

 

dartpad.dev

위 사이트에서 간단하게 dart 문법을 사용해볼 수 있다

반응형