2022.03.23 Dart

자료형, 연산자

Posted by gogoJH on March 23, 2022

Dart 자료형, 연산자

Dart 를 공부하다보면 JavaScript 를 배울 때와 비슷하다는 느낌을 지울 수가 없는데 알아보니 Dart 개발자 분들이 웹개발자 출신들이라고 한다. JavaScript 를 사용할 때 이렇게 하면 될 것 같은데라는 느낌이 들때가 있는데 Dart를 사용하다보면 딱 생각한데로 구현 될 때가 많은거 같다.

1. 자료형

1-1 자료형의 종류

  • int
    • 정수형
  • double
    • 실수형
  • String
    • 문자열
  • bool
    • 참, 거짓(true, false)
  • num
    • int와 double을 포함하는 상위 객체 타입.

1-2 var : 타입추론

Type을 초기화 값에 따라서 자동으로 Type을 정해주는 것 입니다.

void main() {
  var a = 11;             //int type
  var b = 22.2;           //double type
  var c = 'BlockDMask';   //String type
  var e = true;           //bool type
}

1-3 final, const : 상수

상수는 ==변하지 않는 값==을 나타내기 위해서 사용합니다.

void main() {
  const int cnt = 20;
  //cnt = 30; //에러
  
  final String str = "Dart Language";
  //str = "C++ Language"; //에러
}

상수는 값을 한번 초기화 해놓으면 다른 값으로 변경이 불가능 합니다.


2. 연산자

2-1 산술 연산자

  • +
    • 문자열 결합 (“a” + “b”)
    • 숫자 더하기
  • -
    • 빼기
  • *
    • 곱하기
  • /
    • 나누기
  • %
    • 나머지
  • ~/

2-2 증감 연산자

  • 전위 연산
    • ++a
    • –a
  • 후위 연산
    • a++
    • a–
void main() {
  //전위 연산
  int a = 10;
  print(++a); //11
  print(a);   //11
  
  //후위 연산
  int b = 10;
  print(b++); //10
  print(b);   //11
}

2-3 비교 연산자

  • ==
    • 같다
  • !=
    • 다르다
  • >, <
    • 크다 작다
  • >=, <=
    • 크거나 같다 작거나 같다

2-4 논리 연산자

  • &&
    • and
    • if(isEmpty && cnt == 10) {}
  • ||
    • or
    • if(isEmpty || cnt == 0) {}
  • !
    • 부정
    • bool isEmpty = false;
    • if(!isEmpty) ...
  • ==, !=
    • 같다 다르다
void main() {
  bool isEmpty = false;
  int cnt = 10;

  if (isEmpty || cnt == 10) {
    print("true");
  } else {
    print("false");
  }

  if (!isEmpty) {
    print("isEmpty => false");
  } else {
    print("isEmpty => true");
  }
}

3. 주석

3-1 한줄 주석

한줄 주석은 문장 중간을 제외하고 어느곳에서든 사용이 가능합니다.

void main() {
  //한줄주석은 여기에서도 사용가능하고
  
  print("주석을 답니다"); //여기에도 사용가능하고,
}
//이런데도 가능합니다.

3-2 여러줄 주석

void main() {
  /** 주석.
   *  아래 함수는 "BlockDMask"라는 문장을 출력합니다.
   **/
}

Concluding..

이렇게 Dart 코딩에 필요한 기본 자료형과 연산자를 정리해보았다. 다음에는 OOP, 비동기처리 에 대해서 정리해보려한다.