関数は、読み取り可能、保守可能、及び再利用可能なコードの構成要素です。関数は、特定のタスクを実行するために使用される一連のステートメントです。関数は、プログラムを論理コードブロックに編成します。定義すると、関数を呼び出してコードにアクセスできます。これにより、コードが再利用可能になります。さらに、この関数はプログラムのコードを簡単に読み取って保守することができます。
関数宣言は、コンパイラに関数名、返す値の型、およびパラメータを通知します。関数定義は、関数の実際の本体を提供します。
番号 | 関数 | 説明 |
1 | 定義関数 | 定義関数は、特定のタスクの実行方法を指定します。 |
2 | 関数呼び出し | 関数を呼び出す場合のみ実行します。 |
3 | 関数の返す値 | この関数は、コントロールとともに値を呼び出し元に返すことができます。 |
4 | パラメータ化された関数 | パラメータは、関数に値を渡すためのメカニズムです。 |
目次
オプションパラメータ
関数がパラメータを強制的に渡す必要がない場合は、オプションのパラメータを使用できます。その名前の後ろに疑問符を追加することにより、パラメータをオプションとしてマークできます。オプションのパラメータは、関数の最後のパラメータとして設定する必要があります。
Dartには3種類のオプションパラメータがあります。
番号 | 関数 | 説明 |
1 | 位置パラメータ(オプション) | オプションの位置パラメータを指定するには、角括弧[]を使用する必要があります。 |
2 | 名前付きパラメータ(オプション) | 位置パラメータとは異なり、値を渡すときにパラメータ名を指定する必要があります。中括弧{}を使用して、オプションの名前付きパラメータを指定できます。 |
3 | デフォルト値付きのオプションパラメータ | デフォルトでは、関数パラメータの値を指定することもできます。ただし、これらのパラメータを明示的に渡すこともできます。 |
Dart再帰関数
再帰は、結果に達するまで関数自体を繰り返し呼び出すことによって操作を繰り返すための手法です。ループ内の異なるパラメータを使用して同じ関数を繰り返し呼び出す必要がある場合は、再帰を使用するのが最適です。
実例
void main() {
print(factorial(6));
}
factorial(number) {
if (number <= 0) {
// termination case
return 1;
} else {
return (number * factorial(number - 1));
// function invokes itself
}
}
上記のコードを実行した後、出力結果は以下のとおりです。
720
Lambda関数
Lambda関数は、関数を表現するための簡潔なメカニズムです。これらの関数は、矢印関数とも呼ばれます。
構文
[return_type]function_name(parameters)=>expression;
実例
void main() {
printMsg();
print(test());
}
printMsg()=>
print("hello");
int test()=>123;
// returning function
上記のコードを実行した後、出力結果は以下のとおりです。
hello 123
コメントを残す