QA Automation/dart
1. 기본(null, const, final, operator, if, switch)
kokorii_
2023. 5. 15. 20:30
최근 플러터 프로젝트를 하고 있는데 dart 언어 스터디를 안하고 플러터 먼저 시작해서 그런지 기능 구현이 조금 힘들었다.
그래서 유튜브 코드팩토리님의 dart 언어 기초 강좌를 완강했고, 기본기를 깔끔하게 설명해주셔서 메모 겸 정리해 두려고 한다.
변수선언, 기본자료형은 skip
1. nullable, non-nullable
- nullable : null이 될 수 있다
- non-nullable : null이 될 수 없다.
- 변수에 null 값을 허용
void main(){
String? name = 'code';
name = null;
print(name) // result -> null
}
- 현재 이 변수가 null이 아님을 표현
void main() {
String? name2 = 'code factory';
//현재 이 값은 null이 아니다
print(name2!);
}
2. final, const 표현
- final, const를 쓰면 type 선언을 생략할 수 있음
- final String name 과 final name은 같은 의미
- final = runtime 값 지정
- const = compile time 값 지정 -> build time에 값이 지정되지 않으면 에러, DateTime에는 const를 지정할 수 없음
void main(){
final DateTime now = DateTime.now();
print(now);
}
3. operator
void main(){
int number = 2;
print(number);
print(number +2);
print(number-2);
print(number*2);
print(number/2);
print(number%2);
print(number++);
print(number--);
number += 1;
number -= 2;
number *= 3;
number %= 2;
number /= 2;
//값 비교 연산자 : >, >=, <, <=, ==, !=, is, !is
if(number is int) // true,
if(number !is int) // false
//논리 연산자 : &&, ||
}
4. null operator
- 변수에 null값 허용
void main(){
double? numTest = 4.0;
numTest = 2.0;
numTest = null;
}
- Null 값일 경우 기본값 지정
void main(){
double? numTest = null;
//numTest가 Null 이면 오른쪽 값으로 바꿔라
numTest ??= 3.0;
print(numTest); // 3.0
}
5. 조건문(if, switch)
- switch문은 반드시 모든 case 구문에 break를 걸어줘야 함(조건 통과)
void main() {
int number = 2;
if (number % 2 == 0) {
print('${number}는 짝수입니다.');
} else {
print('${number}는 홀수입니다.');
}
int num = 5;
if (num % 3 == 0) {
print('나머지는 0입니다.');
} else if (num % 3 == 1) {
print('나머지는 1입니다.');
} else {
print('나머지는 2입니다.');
}
switch (num % 3) {
case 0:
print('나머지는 0입니다.');
break;
case 1:
print('나머지는 1입니다.');
break;
default:
print('나머지는 2입니다.');
break;
}
}