스터디/Flutter+Dart

Dart Quick Start 1 - 빠르게 한번쯤 훑고 지나가야하는 정보들 (1~10), Flutter개발전 필독

Dalmangyi 2019. 8. 27.

안녕하세요~ 오랜만에 Dart 게시글로 찾아왔습니다!

Flutter 개발을 하다보니 Java와 Javascript와 비슷한 Dart 문법이 많이 궁금해지더군요

 

저도 복잡한걸 싫어하다보니, 간단히 코드와 함께 설명해보도록 하겠습니다~

참고 [. Dart 2.4.0 부터 작성된 게시글 입니다 ]

 


 

 

1. Main

Dart는 많은 언어에서 처럼, main() 함수를 시작으로 프로그램이 시작됩니다

main 함수안에 간단한 print 함수를 통해서 "Hello, World!" 글자를 Console에 출력해보겠습니다

 

(우측에 있는 Run 버튼을 눌러보세요!)

 

 

2. 변수

다양한 종류가 있겠지만, 기본적으로 문자, 숫자(정수, 소수), 리스트, 맵 등이 있습니다

변수명 앞에 키워드(keyword)로 자료형을 직접 적어줄 수 있지만, var를 사용하면 코딩할때 들 신경써도 됩니다

자세한건 여기 (https://dart.dev/guides/language/language-tour#variables ) 를 참고해주세요

 

 

 

3. Final 과 Const 차이 

둘다 변수의 값을 변경 할 수 없게 하는 키워드 입니다.

const는 컴파일 때 상수로 정의됨. 반면 final은 런타임때 설정됨.

언뜻 보면 같은 기능 같지만, 아래 예제의 List를 보면 좀 더 확연하게 느낄 수 있습니다.

 

4. 편리한 문자열 처리

쌍따옴표(")와 따옴표(')를 이용해서 자유롭게 문자열을 만들 수 있고,

+ 연산자를 이용해서 문자열을 연결할 수 있습니다.

문자열 + 숫자와 같은 편리함은 없습니다...만. $ 를 이용하시면 됩니다.

$ 를 이용해서 변수 또는 상수를 치환해서 문자열로 사용이 가능하고,

${ } 를 이용해서 중괄호 안에 코드를 실행시킨 결과를 문자열로 사용이 가능합니다

 

 

 

 

5. 함수 파라매터 (Function Parameters)

0) 공통사항

    파라매터의 자료형을 적을 필요없음.

1) Optional named parameters (옵션 이름 파라매터)

    { } 중괄호를 이용해서 '키-밸류' 형태로 파라매터를 입력 받을 수 있음.

    @required 어노테이션(annotation)을 이용하면 꼭 필요한 변수를 정할 수 있음

    = 을 이용해서 기본 값을 설정할 수 있음.

2) Optional positional function (옵션 위치 함수)

   [ ] 대괄호를 이용해서 파라매터를 옵션으로 받을 수 있음.

   Optinal named parameters와 동시 사용은 불가.

(@required 어노테이션도 예제로 보여드릴려고 했으나, 예제가 javascript기반이여서 작동되지 않더군요.. IDE환경에서 직접보시기 바랍니다)

 

 

6. 생성자(1) - this

인스턴스를 만들때 new를 생략하기도 합니다.

생성자를 이용해서 파라매터를 맴버변수에 할당할 때, 'this.color = color;' 와 같은 번거로움을 없애고 

직접 this를 이용해서 맴버변수에 파라매터를 할당 시킬 수 있습니다

 

 

7.생성자(2) - Optional named parameters

함수 파라매터를 입력하듯이, Optional named parameters (옵션 이름 파라매터) 를 이용할 수 있습니다

물론 = 을 이용해서 기본 값을 설정할 수 있습니다 

 

 

8.생성자(3) - named constructor

this를 이용하여 이름이 주어진 생성자를 만드는것도 가능합니다 

static 함수를 사용하는거랑 별 다를바가 없다고 느껴집니다. 그래도 dart에선 이 문법을 많이 사용합니다.

 

9. 람다 (λ, Lamda)

람다는 코드를 간결하게 표현하도록 도와주는 표현방식입니다.

주로 return 쉽게 해주는 Arrow Function을 많이 사용합니다

람다로 사용했는데 여러줄로 바꿔야 될때 { } 중괄호를 이용해서 바꿀때 귀찮습니다..

 

 

10. 밑줄 ( _ , underscore )

자바와 달리 Dart는 public, private, protected가 없습니다. 

단지 밑줄로 시작할 경우, 라이브러리 내부에서만 볼 수 있는 특징을 가지고 있습니다 

또 다른 의미로는 '함수의 이 매개변수를 사용하지 않을꺼야'라는 의미 표현할때 사용됩니다. 

 

 

 

다음 게시글 : Dart Quick Start 1 ( https://dalgonakit.tistory.com/114 )

 

 

 

댓글