Dartプログラミング-構文
構文は、プログラムを作成するための一連のルールを定義します。すべての言語仕様は、独自の構文を定義しています。Dartプログラムは、次のもので構成されます。
- 変数と演算子
- Classes
- Functions
- 式とプログラミング構造
- 意思決定とループ構造
- Comments
- ライブラリとパッケージ
- Typedefs
- コレクション/ジェネリックとして表されるデータ構造
あなたの最初のダーツコード
従来の「HelloWorld」の例から始めましょう-
main() {
print("Hello World!");
}
ザ・ main()関数はDartで事前定義されたメソッドです。このメソッドは、アプリケーションへのエントリポイントとして機能します。Dartスクリプトにはmain() 実行方法。 print() 指定された文字列または値を標準出力、つまり端末に出力する事前定義された関数です。
上記のコードの出力は次のようになります-
Hello World!
ダートプログラムを実行する
Dartプログラムは2つの方法で実行できます-
- ターミナル経由
- WebStormIDE経由
ターミナル経由
ターミナル経由でDartプログラムを実行するには-
- 現在のプロジェクトのパスに移動します
- ターミナルウィンドウで次のコマンドを入力します
dart file_name.dart
WebStormIDE経由
WebStormIDEを介してDartプログラムを実行するには-
IDEでDartスクリプトファイルを右クリックします。(ファイルには、main() 実行を可能にする機能)
クリックしてください ‘Run <file_name>’オプション。同じもののスクリーンショットを以下に示します-
![](https://post.nghiatu.com/assets/tutorial/dart_programming/images/run_test1_dart.jpg)
![](https://post.nghiatu.com/assets/tutorial/dart_programming/images/run_button.jpg)
Dartコマンドラインオプション
Dartコマンドラインオプションは、Dartスクリプトの実行を変更するために使用されます。Dartの一般的なコマンドラインオプションには、次のものがあります。
シニア番号 | コマンドラインオプションと説明 |
---|---|
1 | -c or --c アサーションとタイプチェックの両方を有効にします(チェックモード)。 |
2 | --version VMのバージョン情報を表示します。 |
3 | --packages <path> パッケージ解決構成ファイルへのパスを指定します。 |
4 | -p <path> インポートされたライブラリの場所を指定します。このオプションは--packagesと一緒に使用することはできません。 |
5 | -h or --help ヘルプを表示します。 |
チェックモードの有効化
Dartプログラムは2つのモードで実行されます。
- チェックモード
- プロダクションモード(デフォルト)
DartVMをで実行することをお勧めします checked mode開発およびデバッグプロセスを支援するために警告とエラーを追加するため、開発およびテスト中。チェックモードでは、タイプチェックなどのさまざまなチェックが実行されます。チェックモードをオンにするには、スクリプトの実行中にスクリプトファイル名の前に-cまたは–-checkedオプションを追加します。
ただし、スクリプトの実行中にパフォーマンスを向上させるために、スクリプトをで実行することをお勧めします。 production mode。
次のことを考慮してください Test.dart スクリプトファイル-
void main() {
int n = "hello";
print(n);
}
−と入力してスクリプトを実行します
dart Test.dart
タイプの不一致がありますが、チェックモードがオフになっているため、スクリプトは正常に実行されます。スクリプトは次の出力になります-
hello
ここで、「-checked」または「-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 | 継続する | false | 新着 | この |
1として | デフォルト | 最後の | ヌル | スロー |
主張する | 延期1 | 最後に | オペレーター1 | true |
非同期2 | 行う | ために | パート1 | 試してみてください |
非同期* 2 | ダイナミック1 | 1を取得 | 再投げる | typedef 1 |
2を待つ | そうしないと | もし | 戻る | var |
ブレーク | 列挙型 | 実装1 | セット1 | ボイド |
場合 | エクスポート1 | インポート1 | 静的1 | 一方 |
キャッチ | 外部1 | に | 素晴らしい | と |
クラス | 拡張します | です | スイッチ | 収量2 |
const | 工場1 | ライブラリ1 | 同期* 2 | 収量* 2 |
空白と改行
Dartは、プログラムに表示されるスペース、タブ、および改行を無視します。プログラムではスペース、タブ、改行を自由に使用でき、コードを読みやすく理解しやすいように、プログラムをきちんと一貫した方法で自由にフォーマットおよびインデントできます。
Dartでは大文字と小文字が区別されます
Dartでは大文字と小文字が区別されます。これは、ダートが大文字と小文字を区別することを意味します。
ステートメントはセミコロンで終わります
命令の各行はステートメントと呼ばれます。各ダーツステートメントはセミコロン(;)で終了する必要があります。1行に複数のステートメントを含めることができます。ただし、これらのステートメントはセミコロンで区切る必要があります。
Dartのコメント
コメントは、プログラムの読みやすさを向上させる方法です。コメントを使用して、コードの作成者、関数/構成に関するヒントなど、プログラムに関する追加情報を含めることができます。コメントはコンパイラーによって無視されます。
Dartは次のタイプのコメントをサポートしています-
Single-line comments ( // ) −「//」と行末の間のテキストはコメントとして扱われます
Multi-line comments (/* */) −これらのコメントは複数行にまたがることがあります。
例
// this is single line comment
/* This is a
Multi-line comment
*/
Dartでのオブジェクト指向プログラミング
Dartはオブジェクト指向言語です。オブジェクト指向は、実際のモデリングに従うソフトウェア開発パラダイムです。オブジェクト指向は、プログラムを、メソッドと呼ばれるメカニズムを介して相互に通信するオブジェクトのコレクションと見なします。
Object−オブジェクトは、任意のエンティティのリアルタイム表現です。Grady Broochによると、すべてのオブジェクトには3つの機能が必要です。
State −オブジェクトの属性によって記述されます。
Behavior −オブジェクトがどのように動作するかを説明します。
Identity −オブジェクトをそのような類似のオブジェクトのセットから区別する一意の値。
Class− OOPに関するクラスは、オブジェクトを作成するための青写真です。クラスは、オブジェクトのデータをカプセル化します。
Method −メソッドはオブジェクト間の通信を容易にします。
例:ダーツとオブジェクト指向
class TestClass {
void disp() {
print("Hello World");
}
}
void main() {
TestClass c = new TestClass();
c.disp();
}
上記の例はクラスを定義します TestClass。クラスにはメソッドがありますdisp()。このメソッドは、文字列「HelloWorld」を端末に出力します。newキーワードは、クラスのオブジェクトを作成します。オブジェクトはメソッドを呼び出しますdisp()。
コードは次を生成する必要があります output −
Hello World