Dart-programming-syntax

提供:Dev Guides
移動先:案内検索

Dartプログラミング-構文

構文は、プログラムを記述するための一連のルールを定義します。 すべての言語仕様は独自の構文を定義しています。 Dartプログラムはで構成されています-

  • 変数と演算子
  • クラス
  • 関数
  • 式とプログラミング構成
  • 意思決定とループ構造
  • コメント
  • ライブラリとパッケージ
  • 型定義
  • コレクション/ジェネリックとして表されるデータ構造

初めてのダーツコード

従来の「Hello World」の例から始めましょう-

main() {
   print("Hello World!");
}
  • main()関数は、Dartの事前定義されたメソッドです。 このメソッドは、アプリケーションへのエントリポイントとして機能します。 Dartスクリプトを実行するには、 main()*メソッドが必要です。 * print()*は、指定された文字列または値を標準出力に出力する定義済みの関数です。 ターミナル。

上記のコードの出力は次のようになります-

Hello World!

Dartプログラムを実行する

あなたは2つの方法でDartプログラムを実行することができます-

  • ターミナル経由
  • WebStorm IDE経由

ターミナル経由

端末を介してDartプログラムを実行するには-

  • 現在のプロジェクトのパスに移動します
  • [ターミナル]ウィンドウに次のコマンドを入力します
dart file_name.dart

WebStorm IDE経由

WebStorm IDEを介してDartプログラムを実行するには-

  • IDEでDartスクリプトファイルを右クリックします。 (ファイルには、実行を可能にする* main()*関数が含まれている必要があります)
  • *「Run <file_name>」*オプションをクリックします。 同じのスクリーンショットを以下に示します-

Run Test1 Dart

あるいは、Run Buttonボタンをクリックするか、ショートカット Ctrl + Shift + F10 を使用してDartスクリプトを実行できます。

Dartコマンドラインオプション

Dartコマンドラインオプションは、Dartスクリプトの実行を変更するために使用されます。 Dartの一般的なコマンドラインオプションには次のものがあります-

Sr.No Command-Line Option & Description
1

-c or --c

アサーションとタイプチェックの両方を有効にします(チェックモード)。

2

--version

VMバージョン情報を表示します。

3

--packages <path>

パッケージ解決構成ファイルへのパスを指定します。

4

-p <path>

インポートされたライブラリの場所を指定します。 このオプションは—​packagesと共に使用できません。

5

-h or --help

ヘルプを表示します。

チェックモードを有効にする

Dartプログラムは2つのモードで実行されます-

  • チェックモード
  • 実動モード(デフォルト)

開発およびテスト中に警告およびエラーを追加して開発およびデバッグプロセスを支援するため、開発およびテスト中はDart VMを*チェックモード*で実行することをお勧めします。 チェックモードでは、タイプチェックなどのさまざまなチェックが実行されます。 チェックモードをオンにするには、スクリプトの実行中に、スクリプトファイル名の前に-cまたは–-checkedオプションを追加します。

ただし、スクリプトの実行中にパフォーマンスの利点を確保するために、*実稼働モード*でスクリプトを実行することをお勧めします。

次の Test.dart スクリプトファイルを考慮してください-

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

次を入力してスクリプトを実行します-

dart Test.dart

タイプの不一致がありますが、チェックモードがオフになると、スクリプトは正常に実行されます。 スクリプトは、次の出力になります-

hello

「--checked」または「-c」オプションでスクリプトを実行してみてください-

dart -c Test.dart

Or,

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の識別子

識別子は、変数、関数などのプログラム内の要素に付けられた名前です。 識別子のルールは-

識別子には、文字と数字の両方を含めることができます。 ただし、識別子を数字で始めることはできません。

  • 識別子には、アンダースコア(_)またはドル記号($)以外の特殊記号を含めることはできません。
  • 識別子をキーワードにすることはできません。
  • それらは一意でなければなりません。
  • 識別子では大文字と小文字が区別されます。
  • 識別子にスペースを含めることはできません。

次の表に、有効な識別子と無効な識別子の例をいくつか示します-

Valid identifiers Invalid identifiers
firstName Var
first_name first name
num1 first-name
$result 1number

Dartのキーワード

キーワードは、言語の文脈において特別な意味を持ちます。 次の表に、Dartのいくつかのキーワードを示します。

abstract 1 continue false new this
as 1 default final null throw
assert deferred 1 finally operator 1 true
async 2 do for part 1 try
async* 2 dynamic 1 get 1 rethrow typedef 1
await 2 else if return var
break enum implements 1 set 1 void
case export 1 import 1 static 1 while
catch external 1 in super with
class extends is switch yield 2
const factory 1 library 1 sync* 2 yield* 2

空白と改行

Dartは、プログラムに表示されるスペース、タブ、改行を無視します。 プログラムでは、スペース、タブ、改行を自由に使用できます。また、コードを読みやすく理解しやすくするために、プログラムをきちんと一貫した方法で自由にフォーマットおよびインデントできます。

Dartは大文字と小文字を区別します

Dartでは大文字と小文字が区別されます。 これは、Dartが大文字と小文字を区別することを意味します。

ステートメントはセミコロンで終わります

命令の各行はステートメントと呼ばれます。 各dartステートメントはセミコロン(;)で終わる必要があります。 1行に複数のステートメントを含めることができます。 ただし、これらのステートメントはセミコロンで区切る必要があります。

Dartのコメント

コメントは、プログラムの可読性を向上させる方法です。 コメントを使用して、コードの作成者などのプログラムに関する追加情報、関数/コンストラクトに関するヒントなどを含めることができます。 コメントはコンパイラによって無視されます。

Dartは次のタイプのコメントをサポートしています-

  • 単一行コメント(//)-「//」と行末の間のテキストはコメントとして扱われます
  • 複数行コメント(/ /)-これらのコメントは複数行にわたる場合があります。

//this is single line comment

/* This is a
   Multi-line comment
*/

Dartのオブジェクト指向プログラミング

Dartはオブジェクト指向言語です。 オブジェクト指向は、実世界のモデリングに従うソフトウェア開発パラダイムです。 オブジェクト指向は、プログラムを、メソッドと呼ばれるメカニズムを介して互いに通信するオブジェクトのコレクションと見なします。

  • オブジェクト-オブジェクトは、エンティティのリアルタイム表現です。 Grady Broochによると、すべてのオブジェクトには3つの機能が必要です-
  • 状態-オブジェクトの属性によって記述されます。
  • 動作-オブジェクトの動作方法を説明します。
  • Identity -オブジェクトを類似のそのようなオブジェクトのセットから区別する一意の値。
  • クラス-OOPの観点でのクラスは、オブジェクトを作成するための青写真です。 クラスは、オブジェクトのデータをカプセル化します。
  • メソッド-メソッドはオブジェクト間の通信を容易にします。

例:ダーツとオブジェクトの向き

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

上記の例では、クラス TestClass を定義しています。 クラスには* disp()メソッドがあります。 このメソッドは、文字列「Hello World」を端末に出力します。 新しいキーワードは、クラスのオブジェクトを作成します。 オブジェクトはメソッド disp()*を呼び出します。

コードは、次の*出力*を生成する必要があります-

Hello World