Dart 프로그래밍-구문

구문은 프로그램 작성을위한 일련의 규칙을 정의합니다. 모든 언어 사양은 자체 구문을 정의합니다. Dart 프로그램은 다음과 같이 구성됩니다.

  • 변수와 연산자
  • Classes
  • Functions
  • 식 및 프로그래밍 구문
  • 의사 결정 및 반복 구조
  • Comments
  • 라이브러리 및 패키지
  • Typedefs
  • 컬렉션 / 제네릭으로 표현되는 데이터 구조

첫 번째 Dart 코드

전통적인 "Hello World"예제부터 시작하겠습니다.

main() { 
   print("Hello World!"); 
}

그만큼 main()함수는 Dart에서 미리 정의 된 방법입니다. 이 메서드는 응용 프로그램의 진입 점 역할을합니다. Dart 스크립트에는main() 실행 방법. print() 지정된 문자열 또는 값을 표준 출력 즉, 터미널에 인쇄하는 미리 정의 된 함수입니다.

위 코드의 출력은 다음과 같습니다.

Hello World!

Dart 프로그램 실행

두 가지 방법으로 Dart 프로그램을 실행할 수 있습니다.

  • 터미널을 통해
  • WebStorm IDE를 통해

터미널을 통해

터미널을 통해 Dart 프로그램을 실행하려면-

  • 현재 프로젝트의 경로로 이동
  • 터미널 창에 다음 명령을 입력하십시오.
dart file_name.dart

WebStorm IDE를 통해

WebStorm IDE를 통해 Dart 프로그램을 실행하려면-

  • IDE에서 Dart 스크립트 파일을 마우스 오른쪽 버튼으로 클릭합니다. (파일에는main() 실행을 가능하게하는 기능)

  • 클릭 ‘Run <file_name>’선택권. 같은 스크린 샷이 아래에 나와 있습니다.

하나는 대안으로 클릭 할 수 있습니다

버튼 또는 바로 가기를 사용Ctrl+Shift+F10 Dart 스크립트를 실행합니다.

Dart 명령 줄 옵션

Dart 명령 줄 옵션은 Dart 스크립트 실행을 수정하는 데 사용됩니다. Dart의 일반적인 명령 줄 옵션은 다음과 같습니다.

Sr. 아니요 명령 줄 옵션 및 설명
1 -c or --c

어설 션 및 유형 검사를 모두 활성화합니다 (선택 모드).

2 --version

VM 버전 정보를 표시합니다.

--packages <path>

패키지 확인 구성 파일의 경로를 지정합니다.

4 -p <path>

가져온 라이브러리를 찾을 위치를 지정합니다. 이 옵션은 --packages와 함께 사용할 수 없습니다.

5 -h or --help

도움말을 표시합니다.

체크 모드 활성화

Dart 프로그램은 두 가지 모드로 실행됩니다.

  • 체크 모드
  • 프로덕션 모드 (기본값)

Dart VM을 실행하는 것이 좋습니다. checked mode개발 및 디버깅 프로세스를 지원하기 위해 경고 및 오류를 추가하기 때문에 개발 및 테스트 중에. 선택 모드는 유형 검사 등과 같은 다양한 검사를 시행합니다. 선택 모드를 켜려면 스크립트를 실행하는 동안 스크립트 파일 이름 앞에 -c 또는 –-checked 옵션을 추가합니다.

그러나 스크립트를 실행하는 동안 성능상의 이점을 보장하려면 다음에서 스크립트를 실행하는 것이 좋습니다. production mode.

다음을 고려하세요 Test.dart 스크립트 파일-

void main() { 
   int n = "hello"; 
   print(n); 
}

다음을 입력하여 스크립트를 실행하십시오.

dart Test.dart

유형 불일치가 있어도 확인 된 모드가 꺼지면 스크립트가 성공적으로 실행됩니다. 스크립트 결과는 다음과 같습니다.

hello

이제 "--선택"또는 "-c"옵션을 사용하여 스크립트를 실행 해보십시오.

dart -c Test.dart

또는,

dart - - checked Test.dart

Dart VM은 유형이 일치하지 않는다는 오류를 표시합니다.

Unhandled exception: 
type 'String' is not a subtype of type 'int' of 'n' where 
   String is from dart:core 
   int is from dart:core 
#0  main (file:///C:/Users/Administrator/Desktop/test.dart:3:9) 
#1  _startIsolate.<anonymous closure> (dart:isolate-patch/isolate_patch.dart :261) 
#2  _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:148)

Dart의 식별자

식별자는 변수, 함수 등과 같은 프로그램의 요소에 부여되는 이름입니다. 식별자에 대한 규칙은 다음과 같습니다.

식별자에는 문자와 숫자가 모두 포함될 수 있습니다. 그러나 식별자는 숫자로 시작할 수 없습니다.

  • 식별자에는 밑줄 (_) 또는 달러 기호 ($)를 제외한 특수 기호를 포함 할 수 없습니다.

  • 식별자는 키워드가 될 수 없습니다.

  • 고유해야합니다.

  • 식별자는 대소 문자를 구분합니다.

  • 식별자는 공백을 포함 할 수 없습니다.

다음 표는 유효하고 유효하지 않은 식별자의 몇 가지 예를 나열합니다.

유효한 식별자 잘못된 식별자
이름 Var
이름 이름
num1 이름
$ result 1 번호

Dart의 키워드

키워드는 언어 컨텍스트에서 특별한 의미를 갖습니다. 다음 표는 Dart의 일부 키워드를 나열합니다.

초록 1 계속하다 그릇된 새로운
1로 기본 결정적인 없는 던지다
주장하다 지연 1 드디어 연산자 1 진실
비동기 2 하다 ...에 대한 1 부 시험
비동기 * 2 동적 1 1을 얻다 다시 던지다 typedef 1
2 기다립니다 그밖에 만약 반환 var
단절 열거 형 구현 1 세트 1
케이스 수출 1 수입 1 정적 1 동안
잡기 외부 1 감독자
수업 연장하다 이다 스위치 수익률 2
const 공장 1 도서관 1 동기화 * 2 수율 * 2

공백 및 줄 바꿈

Dart는 프로그램에 나타나는 공백, 탭, 줄 바꿈을 무시합니다. 프로그램에서 공백, 탭 및 줄 바꿈을 자유롭게 사용할 수 있으며 코드를 쉽게 읽고 이해할 수 있도록 깔끔하고 일관된 방식으로 프로그램을 형식화하고 들여 쓰기 할 수 있습니다.

Dart는 대소 문자를 구분합니다.

Dart는 대소 문자를 구분합니다. 이것은 Dart가 대문자와 소문자를 구분한다는 것을 의미합니다.

세미콜론으로 끝납니다.

각 명령 행을 명령문이라고합니다. 각 dart 문은 세미콜론 (;)으로 끝나야합니다. 한 줄에 여러 문이 포함될 수 있습니다. 그러나 이러한 문은 세미콜론으로 구분해야합니다.

Dart의 댓글

주석은 프로그램의 가독성을 향상시키는 방법입니다. 주석은 코드 작성자, 함수 / 구조에 대한 힌트 등과 같은 프로그램에 대한 추가 정보를 포함하는 데 사용할 수 있습니다. 주석은 컴파일러에서 무시됩니다.

Dart는 다음 유형의 주석을 지원합니다.

  • Single-line comments ( // ) − "//"와 줄 끝 사이의 모든 텍스트는 주석으로 처리됩니다.

  • Multi-line comments (/* */) − 이러한 주석은 여러 줄에 걸쳐있을 수 있습니다.

// this is single line comment  
  
/* This is a   
   Multi-line comment  
*/

Dart의 객체 지향 프로그래밍

Dart는 객체 지향 언어입니다. Object Orientation은 실제 모델링을 따르는 소프트웨어 개발 패러다임입니다. 객체 지향은 프로그램을 메소드라는 메커니즘을 통해 서로 통신하는 객체의 모음으로 간주합니다.

  • Object− 개체는 모든 개체의 실시간 표현입니다. Grady Brooch에 따르면 모든 개체에는 세 가지 기능이 있어야합니다.

    • State − 객체의 속성으로 설명됩니다.

    • Behavior − 물체가 어떻게 작동하는지 설명합니다.

    • Identity − 유사한 객체 세트와 객체를 구별하는 고유 한 값.

  • Class− OOP 측면에서 클래스는 객체 생성을위한 청사진입니다. 클래스는 객체에 대한 데이터를 캡슐화합니다.

  • Method − 방법은 객체 간의 의사 소통을 용이하게합니다.

예 : 다트 및 개체 방향

class TestClass {   
   void disp() {     
      print("Hello World"); 
   } 
}  
void main() {   
   TestClass c = new TestClass();   
   c.disp();  
}

위의 예는 클래스를 정의합니다. TestClass. 클래스에는 메서드가 있습니다.disp(). 이 메서드는 터미널에 "Hello World"문자열을 인쇄합니다. new 키워드는 클래스의 객체를 만듭니다. 객체는 메소드를 호출합니다.disp().

코드는 다음을 생성해야합니다. output

Hello World