Dart는 타입 유추가 가능한 언어이므로 타입 표기는 선택 사항이다.
Dart에서 변수는 데이터의 종류를 정의하는 몇 가지 유형이 있다.
✔️ 변수
- int: 정수 타입
int i = 1;
- double: 실수 타입
double d = 1.1;
- num: int와 double을 모두 쓸 수 있는 타입
num a = 10;
num b = 10.0;
- String: 문자열 타입
String name = '이름';
- bool: 참 또는 거짓 타입
bool b = true;
✔️ if ~ else if ~ else, for: 조건문, 반복문
- if ~ else if ~ else
: 만약 조건이 a 라면 A를 하라. 만약 조건이 b라면 B를 하라. 아니면 C를 하라와 같은 조건을 처리할 때 사용한다.
num? a = 10;
if (a is int) {
print('정수 입니다.'); // 정수 입니다 출력
} else if (a is double) {
print('실수 입니다.');
} else {
print('정수도 실수도 아닙니다.');
}
- for
: 요소를 반복하는 반복문.
var fruits = ['딸기', '사과', '포도'];
for (var i = 0; i < fruits.length; i++) {
print(fruits[i]); // 딸기 사과 포도 출력
}
✔️ final / const
Dart 에서 final과 const는 상수를 사용할 때 쓰는 키워드이다.
final과 비슷한 역할을 하는 것이 js에서 const이며 마찬가지로 재할당은 되지 않는다.
둘 다 상수인 점에서는 비슷하지만 다른 점이 있는데, const 변수는 컴파일 타임 상수이다.
- final: 처음 액세스할 때 초기화되며 런타임시 결정된다.
final DateTime now = DateTime.now(); // 문제 없음
- const: const 변수는 즉시 초기화되며 해당 값은 컴파일 타임에 결정된다.
const DateTime now = DateTime.now(); // 컴파일 에러
final 객체는 수정할 수 없지만 객체의 필드는 변경할 수 있다.
하지만 const 객체는 필드도 변경할 수 없다.
✔️ null safety
- null safety는 말 그대로 null 에게서 안전한 코드를 작성하는 것을 의미한다. null safety는 애플리케이션 실행 중 null 참조 에러가 발생하는 경우 컴파일러가 해당 버그를 잡아줌으로써 예상치 못한 에러를 대비할 수 있게 해 준다.
int a = null; // 에러
int? a = null; // null값 할당 가능
int? a; // null값을 할당하지 않아도 초기 값은 null이 된다.
출처:
https://www.hanbit.co.kr/store/books/look.php?p_code=B6197690220
'Dart' 카테고리의 다른 글
[Dart] 클래스 / 인스턴스 (0) | 2023.05.25 |
---|