1. 변수 선언
- var / dynamic
- final / const
void main() {
final DateTime now = DateTime.now(); // 런타임 상수
const DateTime now = DateTime.now(); // 빌드 에러. 빌드 타임 상수
}
2. 컬렉션
- List
ㄴ add함수
ㄴ where함수
ㄴ reduce함수
ㄴ fold함수
- Map
- Set
void main() {
List<String> blackPinkList = ['리사', '지수', '제니', '로제'];
Map<String, String> dictionary = {
'Harry Potter': '해리 포터',
'Ron Weasley': '론 위즐리',
'Hermione Granger': '헤르미온느 그레인저'
};
Set<String> blackPink = {'로제', '지수', '리사', '제니', '제니'};
print(blackPink); // {로제, 지수, 리사, 제니}
}
3. 연산자 중 null관련 연산자
void main() {
double? number1 = 1;
double? number;
number ??= 3; // ?? 를 사용하면 null일때만 지정
print(number); // 3
number ??= 4; // null이 아니므로 3이 유지
print(number); // 3
}
4. 제어문
- if문
void main() {
// if문
int number = 2;
if (number % 3 == 0) {
print('3의 배수입니다.');
} else if (number % 3 == 1) {
print('나머지가 1입니다.');
} else {
print('맞는 조건이 없습니다.');
}
}
- switch문
void main() {
// switch문
Status status = Status.approved;
switch (status) {
case Status.approved:
print('승인 상태입니다.');
break;
case Status.rejected:
print('거벌 상태입니다.');
break;
default:
print('그 외 상태입니다.');
}
}
- for문
void main() {
// for문
for (int i = 0; i < 3; i ++) {
print(i);
}
List<int> numberList = [3, 6, 9];
for (int number in numberList) {
print(number);
}
}
- while문
- do...while문
void main() {
// while문
int total = 0;
while (total < 10) {
total += 1;
}
print(total);
// do..while문
int start = 0;
do {
start += 1;
} while(start < 10);
print(start);
}
5. 함수
int addTwoNumbers(int a, [int b = 2]) {
return a + b;
}
int addThreeNumbers(int a, {required int b, int c = 4}) {
return a + b+ c;
}
void main() {
print(addTwoNumbers(1)); // 3
print(addThreeNumbers(1, b: 3, c: 7)); // 11
print(addThreeNumbers(1, b: 3)); // 8
}
6. 그 외
- JIT, AOT
- 핫리로드
- spread operator
- first class citizen
느낀점
- 설치하는데 한 3시간 걸렸다... 설치하다가..유트브 보고,,, 설치하다가 .. 저녁 먹고 .. 설치하다가 ... 웨이브 먹고
- xcode, android studio 모두 무겁네..
반응형
'개발' 카테고리의 다른 글
[javascript] chrome debugging 하는 법 (debugger;) (0) | 2024.05.11 |
---|---|
[CocoaPods 설치] use "Software Update" to install updates 해결방법 (0) | 2024.05.08 |
[코드팩토리의 플러터 프로그래밍] 0장. 개발환경 구축 (플러터 sdk, xcode, cocoapods, xcode, 안드로이드 스튜디오) (0) | 2024.05.06 |
2024.03.11 글모음 (0) | 2024.03.11 |
git. merge strategy (1) | 2023.10.24 |