| 구분 | 자료형 | 설명 |
|---|---|---|
| 숫자 | int | 정수형 숫자 |
| double | 실수형 숫자 | |
| num | 정수형 또는 실수형 숫자 | |
| 문자열 | string | 텍스트 기반 문자 |
| 불리언 | bool | True 또는 False |
| 자료형 추론 | var | 입력받은 값에 따라 자료형 결정. 한번 결정된 자료형은 변경 불가 |
| dynamic | 입력받은 값에 따라 자료형 결정. 자료형 변경 가능 |
컬렉션은 여러 값을 하나의 변수에 저장할 수 있는 타입을 의미
| 연산자 | 설명 |
|---|---|
| + | 덧셈 |
| - | 뺄셈 |
| * | 곱셈 |
| / | 몫 |
| % | 나머지 |
| number++ | 더하기 1 |
| number-- | 빼기 1 |
| += | 뎃셈 후 할당 |
| -= | 뺄셈 후 할당 |
| *= | 곱셈 후 할당 |
| /= | 나눗셈 후 할당 |
| 연산자 | 설명 |
|---|---|
| datatype? | nullable타입 |
| ??= | null일 때 할당 |
| ?? | null일 때 병합 |
| 연산자 | 설명 |
|---|---|
| == | 동등 비교 |
| != | 동등하지 않음 |
| > | 크다 |
| > | 작다 |
| >= | 크거나 같다 |
| <= | 작거나 같다 |
| 연산자 | 설명 |
|---|---|
| is | 변수 타입 비교 |
if (condition) {
//조건이 참일 때 실행
} else if (condition2){
//조건2가 참일 때 실행
} else{
//모든 조건이 거짓일 때 실행
}
for(var i = 0; i < 5; i++){
print('Hello, Dart $i);
}
i가 0부터 4까지 증가할 때마다 "Hello, Dart"와 i 값을 함께 출력
var number = 5;
while (number > 0) {
print('countdown: $number');
number--;
}
number가 0보다 클 때마다 "Countdown: number"를 화면에 출력 후 number 1 씩 감소한다.
do {
// 코드 블록 실행
} while (condition);
반복문을 최소 한 번 실행한 후 조건 확인
switch (variable) {
case value1:
// value1일 때 실행
break;
case value2:
// value2일 때 실행
break;
default:
// 위의 값들과 일치하지 않을 때 실행
}
익명함수와 람다함수는 함수 이름이 없고 일회성으로 사용된다는 공통점이 있다. 주로 문법적으로 간결한 표현을 사용할 때 람다함수를 사용하고, 더 복잡한 로직이 필요한 경우에는 익명함수를 사용한다.
(매개변수){
//함수 바디
}
이름이 없는 함수로 주로 일회성으로 사용할 함수를 선언할 때 사용
//익명함수 예시
var add = (int a, int b) {
return a + b;
};
void main() {
print(add(3, 5)); // 출력: 8
}
(매개변수) => // 단 하나의 스테이트먼트
짧고 간결한 익명함수를 표현할 때 사용.
//람다함수 예시
var multiply = (int a, int b) => a * b;
void main() {
print(multiply(3, 5)); // 출력: 15
}
type는 함수 타입 정의에 사용된다. 함수가 무슨 동작을 하는지는 정의하지 않는다.
typedef Operation = void Function(int x, int y); //typedef 정의
// add 함수
void add(int x, int y){
print("결괏값 : ${x+y}");
}
// subtract 함수
void subtract(int x, int y) {
print("결괏값 : ${x-y}");
}
// main 함수
void main(){
Operation oper = add;
oper(1,2);
oper = subtract;
oper(1,2);
}
예외처리는 에러를 처리하는 방법이다. 에러가 나면 해당 부분의 코드는 작동하지않고 나머지 코드들은 정상적으로 실행될 수 있게 만든다.
try...catch문의 목적은 특정 코드의 실행을 시도해보고 문제가 있다면 에러를 잡으라는 뜻이다.
try {
// 예외가 발생할 수 있는 코드
} catch (e) {
// 예외가 발생했을 때 처리할 코드
}
try구문은 에러가 날 가능성이 있는 코드를 작성한다. 만약 에러 발생 시 catch구문에 작성된 코드가 실행된다.