Menu
CoddyTech

引数のデフォルト値

CoddyのDartジャーニー「基礎」セクションの一部。レッスン 75/94。

デフォルト引数値を使うと、関数の呼び出し時に指定されなかった関数の引数に、代わりの値を設定できます。

デフォルトの引数値を持つ関数を作成しましょう。

void greet(String name, [String greeting = 'Hello']) {
  print('$greeting, $name!');
}

省略可能なパラメーターを指定する場合と指定しない場合で、関数を呼び出しましょう。

void main() {
  greet('Dart');
  greet('Dart', 'Welcome');
}

上記のコードを実行すると、次のように出力されます。

Hello, Dart!
Welcome, Dart!

名前付きパラメータにもデフォルト値を使用できます。

void showInfo({required String name, int age = 30}) {
  print('$name is $age years old');
}

void main() {
  showInfo(name: 'Alex');
  showInfo(name: 'Maya', age: 25);
}

上記のコードを実行すると、出力は次のようになります。

Alex is 30 years old
Maya is 25 years old
challenge icon

チャレンジ

初心者

このチャレンジでは、Dartの関数でデフォルトのパラメーター値を使う練習をします。デフォルトのパラメーター値を指定すると、関数の呼び出し時にパラメーターが渡されなかった場合に使用される値を設定できます。

greet関数のgreetingパラメーターに、デフォルト値として"Hello"を追加して完成させましょう。

期待される出力:

Hello, Alice!
Welcome, Bob!

自分で試してみよう

void main() {
  // これらの名前はすでに定義されています
  String name1 = 'Alice';
  String name2 = 'Bob';
  
  // TODO: greet 関数を2回呼び出してください:
  // 1. name1 だけを指定して1回(デフォルトの挨拶を使用すること)
  // 2. name2 と挨拶 "Welcome" を指定して1回
  greet(name1);
  greet(name2, "Welcome");
}

// TODO: greeting パラメータのデフォルト値として "Hello" を追加するように、この関数を変更してください
void greet(String name, String greeting) {
  print('$greeting, $name!');
}
quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

基礎のすべてのレッスン

自分で練習してみよう: Dartオンラインコンパイラ