<개인공부>/[Flutter, Dart]

[Dart] 다트 기본 문법 정리 1편 (자료형, 연산자, 주석)

BlockDMask 2020. 5. 10. 15:06
반응형

안녕하세요. BlockDMask 입니다. 

플러터(Flutter)를 이용해서 앱을 한번 만들어 보려고 공부를 시작했습니다.
앱을 만들어 보고싶다는 생각은 예전부터 했었습니다. 학창 시절에 자바에 대한 안좋은 추억이 있어서 자바는 별로 안하고 싶어 계속 미루고 있었는데, 시대가 좋아져서 플러터&다트를 이용해서 앱 개발이 가능하다고 하여 이제서야 마음을 먹고 앱을 만들어 보려 합니다. "구글 짱짱맨".

서론이 길었지만, 그래서 오늘은 다트(Dart)라는 언어의 기본 문법을 기록해보려 합니다.

1. 정말 기본

  • 문장의 끝에는 세미콜론(;)을 붙입니다.

 

2. 자료형

2.1 기본자료형

  • int
    • 정수형
    • 555, 1, 3, ...
    • int a = 555;
  • double
    • 실수형
    • 0.0001 ... 
    • double b = 11.1;
  • String
    • 문자열
    • 스트링의 맨앞은 S 대문자입니다.
    • String str1 = "BlockDMask";
    • String str2 = 'BlockDMask';
    • 큰따옴표 작은따옴표 둘다 사용가능이지만 작은따옴표가 표준이라고 함.
  • bool
    • 참 거짓을 나타내는 불리언 타입
    • true, false
    • bool c = false;
  • num
    • 못보던 타입.
    • int와 double을 포함하는 타입 입니다.
    • num n1 = 44;
    • num n2 = 23.12;
    • int, double로 선언한 변수를 num 타입에 담을 수 있습니다.
    • int a = 10;
    • num n = a; //가능

 

 

2.2 var : 타입추론

타입을 명시하지 않고 타입을 초기화 값에 따라서 알아서 데이터 타입을 정해주는 것 입니다.

var a = 1111; //이거는 int 타입이라는 것 입니다. 코드로 한번 쭉 예시를 볼까요.

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

- C#에도 var가 있죠.

- C++에서의 auto와 동일한듯 합니다. (C++ auto 타입추론 바로가기)

 

 

 

2.3 final, const : 상수

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

변수 선언시에 맨 앞에 final 혹은 const 키워드를 붙이면 됩니다. 코드로 한번 살펴보겠습니다.

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

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

 

주의해야할것

final, const 키워드와  var 타입은 같이 사용하지 못합니다.

const var c = 'BlockDMask';   //ERROR

var와 const, final은 함께 사용하지 못합니다.

 

3. 연산자

 

3.1 산술 연산자

  • +
    • 더하기
    • 문자열 결합 가능 ("a" + "b")
    • 숫자 더하기 당연히 가능
  • -
    • 빼기
  • *
    • 곱하기
  • /
    • 나누기
  • %
    • 나머지
  • ~/

 

3.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
}

 

3.3 비교 연산자

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

 

3.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");
  }
}

 

 

4. 주석

4.1 한줄 주석

주석 : //

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

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

 

4.2 여러줄 주석

여러줄 주석의 시작은 /** 으로 시작합니다. 남길 문장을 입력하고 엔터를 누르면 자동으로 다음줄부터는 * 붙으면서 주석이 연장됩니다.

그러다가 주석을 끝내고 싶으면 **/ 으로 주석을 마무리 하면됩니다.

 

주석 시작 : /**

주석 끝 : **/

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

 

 

 

ETC

- 공식 문서 : https://dart.dev/guides

- 다트는 웹에서 간편하게 다트 문법을 테스트 할 수 있습니다. 역시 갓 구글입니다. (dartpad.dev)

- 티스토리 에디터가 바뀌어서 사용해봤는데, 글 전체 분위기가 바뀌었네요. 익숙해지려면 조금 시간이 걸릴것 같습니다.

- num 타입 너무 신기

- 글을 다 썼으니 이제 음쓰 버리러 가야겠네요

반응형