[Flutter] Dart에서 연산자

2021-04-01 hit count image

Flutter로 앱을 개발하기 위해서 Flutter의 개발 언어인 Dart에 대해서 알아봅시다. 이번 블로그 포스트에서는 Dart의 연산자에 대해서 알아봅니다.

블로그 시리즈

이 블로그는 시리즈로 제작되었습니다. 다음 링크를 통해 다른 블로그 포스트도 확인해 보시기 바랍니다.

개요

이번 블로그 포스트에서는 Dart에서 연산자를 사용하는 방법에 대해서 살펴보도록 하겠습니다.

이 블로그 포스트에서 소개하는 소스 코드는 아래에 링크에서 확인할 수 있습니다.

산술 연산자

Dart에서 숫자를 연산할 때, 기본적으로 다른 프로그래밍 언어에서 사용되는 연산자를 모두 사용할 수 있습니다.

void main() {
  double num1 = 4;

  print(num1 + 2);
  print(num1 - 2);
  print(num1 * 2);
  print(num1 / 2);
  print(num1 % 3);
  print(num1++);
  print(num1--);
  print(++num1);
  print(--num1);
  print(num1 += 1);
  print(num1 -= 1);
  print(num1 *= 1);
  print(num1 /= 2);
  print(num1 %= 3);
}

비교 연산자

Dart에서는 다른 언어에서 사용하는 비교 연산자를 사용할 수 있습니다.

void main() {
  int num1 = 3;
  int num2 = 5;

  print(num1 > num2);
  print(num1 < num2);
  print(num1 >= num2);
  print(num1 <= num2);
  print(num1 == num2);
  print(num1 != num2);
}

타입 비교 연산자

Dart에서는 타입을 비교할 수 있는 연산자가 있습니다.

void main() {
  int num = 3;

  print(num is int);
  print(num is String);
  print(num is List);
}

다음과 같이 타입이 같지 않음을 확인할 수 있습니다.

void main() {
  int num = 3;

  print(num is! int);
  print(num is! String);
  print(num is! List);
}

논리 연산자

Dart에서도 다른 언어에서와 같이 논리 연산자를 사용할 수 있습니다.

void main() {
  print(true && true);
  print(true && false);
  print(false && true);
  print(false && false);
  print(true || true);
  print(true || false);
  print(false || true);
  print(false || false);
}

Null-aware operator

??= 연산자는 변수의 값이 null인 경우에만 값을 할당합니다.

void main() {
  var name = null;
  name ??= 'Yakuza';
  print(name);

  name ??= 'Dev';
  print(name);
}

name 변수에 초기값이 null이므로 첫번째 ??=가 동작하여 Yakuza라는 값이 name에 할당되지만, 두번째 ??= 연산자는 이미 값이 할당된 변수이므로 재할당하지 않습니다.

완료

이것으로 Flutter로 앱을 개발하기 위해 Dart에서 사용되는 기본적인 연산자에 대해서 살펴보았습니다. 기본적으로 다른 프로그래밍 언어에서 사용할 수 있는 연산자들을 그대로 사용할 수 있는 것을 알 수 있었습니다.

제 블로그가 도움이 되셨나요? 하단의 댓글을 달아주시면 저에게 큰 힘이 됩니다!

앱 홍보

책 홍보

블로그를 운영하면서 좋은 기회가 생겨 책을 출판하게 되었습니다.

아래 링크를 통해 제가 쓴 책을 구매하실 수 있습니다.
많은 분들에게 도움이 되면 좋겠네요.

스무디 한 잔 마시며 끝내는 React Native, 비제이퍼블릭
스무디 한 잔 마시며 끝내는 리액트 + TDD, 비제이퍼블릭
[심통]현장에서 바로 써먹는 리액트 with 타입스크립트 : 리액트와 스토리북으로 배우는 컴포넌트 주도 개발, 심통
Posts