본문 바로가기
프로그래밍 언어(Programming Language)/다트(Dart)

다트 언어 샘플

by 지하생활자 2021. 4. 13.

Hello World

 

모든 앱은 main 함수가 있고 출력하려면 print를 사용하면 된다

 

 

 

변수

 

오류가 날 가능성이 작은 코드에서도(type-safe) 대부분의 변수는 형 추론에 고맙게도 명백한 형태가 필요하지 않다

 

 

 

제어흐름문

 

다트는 보통제어흐름문을 지원한다

 

 

 

함수

 

우리는 각각의 함수의 인수를 특정하고 값을 리턴하는 것을 추천한다

 

약칭 =>(화살) 문법은 한가지 문장을 포함하는 함수에 유용하다.이 문법은 익명의 함수를 인수로 통과시킬 때 특히 유용하다

 

게다가 익명의 함수(where( )의 인수)를 보여주는 이 코드는 함수를 인수로 쓸 수 있다는 것을 보여준다:

탑급 print() 함수는 forEach( )의 인수다.

 

 

 

주석

 

다트는 //로 시작하는 주석을 사용한다

 

 

 

임포트

 

다른 라이브러리에 명시된 API에 접근하려면 Import를 사용하라

 

 

 

 

클래스

 

여기에 세가지 속성과 두가지 생성자,그리고 하나의 메소드를 가진 클래스의 예시가 있다.속성 중 하나는 제대로 설정될 수가 없어서 게터(Getter) 메소드를 사용하는 것으로 정의되어 있다(변수 대신).

 

 

이것처럼 Spacecraft 메소드를 사용할 수도 있다

 

 

 

 

상속

 

다트는 하나의 상속을 갖고 있다

 

 

 

 

 

 

혼합

 

혼합은 다수의 클래스 위계질서에서 코드를 재사용하는 방법이다.다음의 클래스는 혼합의 방법이 될 수 있다

 

 

클래스에 혼합 가능성을 더하고 싶으면 상속(extend)을 해라

 

PilotedCraft는 describeCrew() 메소드와 astronauts 필드(변수)를 가지고 있다

 

 

 

 

 

 

인터페이스와 추상 클래스

 

다트에는 인터페이스 키워드가 없다.대신,모든 클래스는 암시적으로 인터페이스를 정의한다.그러므로 어떤 클래스라도 활용할 수 있다

 

 

구체적 클래스에 의해서 상속될 추상 클래스를 만들 수 있다.추상 클래스는 추상 메소드를 포함할 수 있다(내용이 없는)

 

 

Describable을 확장하는 어떤 클래스라도 describeWithEmphasis() 메소드를 가지고 있고 그것은 확장자의 describe() 시행을 호출한다

 

 

 

 

비동기 통신(Async)

 

콜백 헬을 피하고 비동기와 대기를 이용해서 코드를 좀더 읽기 쉽게 만들어보자

 

 콜백 헬(Callback hell)이란?

콜백들이 다른 콜백들의 몇단계 안에서 축소되고 코드를 이해하기 어렵게 만드는 상황

 

위의 메소드는 아래와 동급이다

 

다음 예시가 보여주듯이 비동기와 대기는 비동기 코드를 읽기 쉽게 만든다

 

 

async*를 사용해도 되는데 코드 흐름을 구축하는데 좋고 가독성 좋은 방법이다

 

 

 

 

예외

 

예외를 처리하려면 Throw를 사용하라

 

예외를 잡으려면 try문을 on이나 catch 또는 둘다와 함께 사용하면 된다

 

 

댓글