文法は、プログラムを作成するための一連のルールを定義します。各言語仕様は、独自の文法を定義します。Dartプログラムコードの構成は次のとおりです。
- 変数と演算子
- クラス
- 関数
- 式とプログラミング構造
- 決定とループ構造
- コメント
- ライブラリとパッケージ
- 型の定義
- データ構造 – 集合/ジェネリック
目次
最初のDart語順
main() {
print("Hello World!");
}
main()関数は、Dartで事前定義されたメソッドです。このメソッドは、プログラムのエントリポイントとします。Dartスクリプトを実行するには、main()メソッドが必要です。print()は、指定された文字列または値を標準出力(ターミナル)に出力する事前定義された関数です。
上記のコードの出力結果は次のようになります。
Hello World!
Shell
Dartプログラムを実行する
Dartプログラムを実行するには、次の2つの方法を使用できます。
- ターミナル/コンソール経由
- WebStorm IDE経由
ターミナル/コンソール経由
ターミナルによってDartプログラムを実行します。
- 現在のプロジェクトのパス。
- [ターミナル/コンソール]ウィンドウに以下のコマンドを入力します。
C:/> dart helloword.dart
Shell
WebStorm IDE経由
WebStorm IDEによってDartプログラムを実行します。
- IDEのDartスクリプトファイルを右クリックします。(このファイルには、実行を有効にするためのmain()関数が含まれている必要があります)
- [Run]オプションをクリックします。
以下のスクリーンショットのようです。
Dartコマンドラインオプション
Dartコマンドラインオプションは、Dartスクリプトの実行を変更するために使用されます。Dartによくあるコマンドラインオプションは次のとおりです。
番号 | コマンドラインオプション | 説明 |
1 | -c 又は –c | アサーションと型チェックを有効にします。(チェックモード) |
2 | –version | VMのバージョン情報を表示します。 |
3 | –packages | パッケージ解析の構成ファイルのパスを指定します。 |
4 | -p | インポートされたライブラリの場所を指定します。このオプションは–packagesと同時に使用できません。 |
5 | -h 又は –help | ヘルプ情報を表示します。 |
チェックモードを有効にする
Dartプログラムは、以下の2つのモードで実行されます。
- チェックモード
- プロダクションモード(デフォルト)
Dart VMは、開発およびデバッグプロセスに役立つ警告とエラーを追加するため、開発およびテスト中にチェックモードで実行することをお勧めします。選択したモードでは、型チェックなどのさまざまなチェックが実施されます。選択したモードを開くには、スクリプトの実行時にスクリプトファイル名の前に-cまたは—checkedオプションを追加します。
ただし、スクリプトの実行時にパフォーマンスを向上させるために、スクリプトをプロダクションモードで実行することをお勧めします。
仮にtest.dartスクリプトファイルのコードは次のとおりです。
void main() {
String s = "welcome to ceodata.com";
print(s);
}
以下のコマンドを入力して、スクリプトを実行します。
C:/> dart test.dart
Shell
上記のスクリプトの出力結果は次のとおりです。
welcome to ceodata.com
Shell
Dart識別子
識別子は、変数や関数など、プログラム内の要素の名前です。識別子のルールは次のとおりです。
- 識別子には文字と数字を含めることができます。ただし、識別子を数字で始めることはできません。
- アンダースコア(_)またはドル記号($)以外、識別子に特別な記号を含めることはできません。
- 識別子をキーワードにすることはできません。
- 一意である必要があります。
- 識別子では大文字と小文字が区別されます。
- 識別子にスペースを含めることはできません。
次のテーブルに、有効な識別子と無効な識別子の実例を示します。
有効な識別子 | 無効な識別子 |
firstName | Var |
first_name | first name |
num1 | first-name |
$result | 1result |
Dartキーワード
キーワードは、言語の文脈では特別な意味を持っています。次のテーブルに、Dart言語のいくつかのキーワードを示します。
abstract | continue | false | new | this |
as | default | final | null | throw |
assert | deferred | finally | operator | true |
async | do | for | part | try |
async* | dynamic | get | rethrow | typedef |
await | else | if | return | var |
break | enum | implements | set | void |
case | export | import | static | while |
catch | external | in | super | with |
class | extends | is | switch | yield |
const | factory | library |
空白と改行
Dartは、プログラムに表示されるスペース、タブ、および改行を無視します。プログラム内でスペース、タブ、改行を自由に使用でき、プログラムを簡潔かつ一貫した方法で自由にフォーマットおよびインデントできるため、コードが読みやすく、理解しやすくなります。
Dartは大文字と小文字を区別する
Dartでは大文字と小文字が区別されます。Dartの大文字と小文字の意味は異なります。
宣言はセミコロンで終わり
各行のコマンドはステートメントと呼ばれます。各dartステートメントはセミコロン(;)で終了する必要があります。1行に複数のステートメントを含めることができます。ただし、これらのステートメントはセミコロンで区切る必要があります。
Dartコメント
コメントは、プログラムの読みやすさを向上させる方法です。コメントを使用して、コードの作成者、関数/構造に関するヒントなど、プログラムに関するその他の情報を含めることができます。コンパイラはコメントを無視します。
Dartは次の型のコメントをサポートしています。
- 単一行コメント(//) – //と行末の間のテキストはコメントと見なされます
- 複数行のコメント(/* */) – このコメントは複数行にまたがることがあります。
// これは単一行のコメントです
/* これは...
複数行の
コメント
*/
Dartオブジェクト指向プログラミング
Dartはオブジェクト指向言語です。オブジェクト指向は、現実のモデリングに従うソフトウェア開発パラダイムです。オブジェクト指向ビュープログラムは、メソッドと呼ばれるメカニズムによって相互に通信するオブジェクトの集合としてプログラムを表示します。
- オブジェクト – オブジェクトは、任意のエンティティのリアルタイム表現です。Grady Broochによると、各オブジェクトには3つの機能が必要です。
— 状態 – オブジェクトの属性によって説明されます。
— 動作 – オブジェクトの動作を説明します。
— 記号 – オブジェクトを類似したオブジェクトのグループから区別する一意の値です。 - クラス – クラスは、オブジェクトを作成するための青写真/テンプレートです。クラスは、オブジェクトのデータをカプセル化します。
- メソッド – メソッドは、オブジェクト間の通信を容易にします。
実例:Dartとオブジェクト指向
class TestClass {
void display() {
print("Dart and Object Orientation");
}
}
void main() {
TestClass c = new TestClass();
c.display();
}
クラスTestClassは、上記のサンプルコードで定義されています。 このクラスにはdisplay()メソッドがあります。このメソッドは、文字列「Dart and Object Orientation」を端末に出力します。newキーワードは、クラスのオブジェクトを作成します。オブジェクトはdisplay()メソッドを呼び出します。
上記のコードを実行した後、出力結果は次のとおりです。
Dart and Object Orientation
コメントを残す