728x90
반응형
- 메인함수란?
- 프로그램의 시작 지점
- 실행문 끝에는 ; (세미클론)을 찍어야한다.
void main() { // print 함수 print('Hello world!'); }
- 변수
- 변할 수 있는 값. Dart에서 권장하는 변수 선언 방법.
- var
- 타입 추론이 가능하다.
- 코틀린과 비슷.
- 자료형
- int, double …
- Dynamic 타입 활용
- 모든 데이터타입을 받을 수 있다.
- 남발하지 않는게 좋다.
- void main() { String name = 'kim'; name = 'ahn'; print(name); //dynamic type dynamic car = 'hyundai'; car = 10; print(car); }
- 널 안정성 (Null Safery)란?
- Null
- 비어있다. 값이 없다.
void main() { String name = 'kim'; //String name2 = null; //Erroe! 값이 없다! String? name2 = null; //Erroe! 값이 없다! }
- 값을 비워야하는 상황이라면? or Null이 나면 안되는 경우라면?
- 널세이프티
- Null도 가능하고 물론 다른 값들도 넣을 수 있다.
void main() { String name = 'kim'; //String name2 = null; //Erroe! 값이 없다! String? name2 = null; //Erroe! 값이 없다! print(name2); // print : null }
- 널 합류 연산자 ??
- 엘비스 연산자랑 비슷한데?
void main() { String name = 'kim'; //String name2 = null; //Erroe! 값이 없다! String? name2 = null; //Erroe! 값이 없다! //널 합류 연산자 ?? String? name3 = null; String result = name3 ?? 'dart flutter'; print(result); //dart flutter }
- Null
- late
- 늦은 초기화, 선언 시에는 null이지만 나중에 값을 대입하여 초기화한다.
//late late String name; //아직 아무것도 넣지 않음. null void main() { name = 'kim'; //늦은 초기화 print(name); }
- 상수 : final, const
- final
- 최초에 값이 할당 되면 값을 바꿀수없다.
void main() { final int age; age = 20; //Error }
- const
- 좀 더 엄격하다. 선언과 동시에 값을 할당해야한다. (해당 값은 컴파일 시점에서 결정되어야만 한다.)
//처음부터 대입해줘야한다. void main() { const int age; //Error! }
- 컴파일이란?
- 인간이 이해하는 언어 → 컴퓨터가 이해하는 언어로 변하는 때
- 런타임 시점보다 빠른 , 컴파일 시점에서 확인하는게 유리하다.
- final
- 산술연산자
- 비교연산자
- 논리연산자
- void main() { bool result1 = (true || false); print(result1); bool result2 = (true && false); print(result2); bool result3 = !result2; print(result3); }
- 조건연산자
- void main() { int age = 30; String ageStatus = age >= 18 ? "성인" : "미성년자"; //3항 연산자 print(ageStatus); // print : 성인 print(age); // 30 }
728x90
반응형
'Dart' 카테고리의 다른 글
Dart의 Collection - List, Map (0) | 2024.03.13 |
---|