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;

  }

}