반응형
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 입니다.
...
위 사이트에서 간단하게 dart 문법을 사용해볼 수 있다
반응형