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>’선택권. 같은 스크린 샷이 아래에 나와 있습니다.
하나는 대안으로 클릭 할 수 있습니다
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