【Dart(Flutter)】メソッドの名前付き引数

こんにちは。サイオステクノロジーの木村です。
この記事では、Dart の名前付き引数の特徴と使い方を記載します。
Dart における名前付き引数は、引数を明示的に指定できるため、コードの可読性や保守性が向上します。名前付き引数を使うと、引数の順番に依存せず、引数の名前を指定して渡すことができるため、特に引数が多いメソッドやコンストラクタでは大きな利点があります。

名前付き引数でない場合

まずは、名前付き引数を使わない通常の引数の例です。

void example(String name, int age, String position) {
  print('名前: $name, 年齢: $age, 役職: $position');
}

上記の呼び出し

example('サイオス太郎', 30, 'エンジニア');
// 出力→ 名前: サイオス太郎, 年齢: 30, 役職: エンジニア

名前付き引数でない場合は、全ての引数が必須となります。また、呼び出し時、引数の順番を守らなければなりません。

名前付き引数の場合

次に、名前付き引数の例です。

void example({required String name, required int age, required String position}) {
  print('名前: $name, 年齢: $age, 役職: $position');
}

名前付き引数の場合、引数を {} で囲んで定義します。必須の引数には required をつけます。
上記の呼び出し

example(name: 'サイオス太郎', age: 30, position: 'エンジニア');
// 出力→ 名前: サイオス太郎, 年齢: 30, 役職: エンジニア

名前付き引数を使うと、引数の順番に関係なく、引数名を指定して値を渡すことができます。つまり、以下のように呼び出しても構いません。

example(age: 30, position: 'エンジニア', name: 'サイオス太郎');
// 出力→ 名前: サイオス太郎, 年齢: 30, 役職: エンジニア

名前付き引数のデフォルト値

名前付き引数の場合、必須でない引数にはデフォルト値を指定することができます。
呼び出し時、引数の指定がない場合はデフォルト値が使われます。

void example({required String name, required int age, String position = 'なし'}) {
  print('名前: $name, 年齢: $age, 役職: $position');
}

上記の呼び出し

example(name: 'サイオス太郎', age: 30);
// 出力→ 名前: サイオス太郎, 年齢: 30, 役職: なし

以上

Dart/Flutterについては以下の記事もございますので、あわせてお読みいただけたら嬉しいです。
【Dart】 Flutter × VSCode で、環境構築 から HelloWorld まで(Mac)
Flutterアプリでプッシュ通知〜Firebase Cloud Messagingで通知を受信する方法(iOS)〜

ご覧いただきありがとうございます! この投稿はお役に立ちましたか?

役に立った 役に立たなかった

0人がこの投稿は役に立ったと言っています。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です