引数のデフォルト値
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チャレンジ
初心者このチャレンジでは、Dartの関数でデフォルトパラメータ値を使用する練習をします。デフォルトパラメータ値により、関数を呼び出す際にパラメータが提供されていない場合に使用される値を指定できます。
greet 関数を完了させるために、greeting パラメータに "Hello" のデフォルト値を追加してください。
期待される出力:
Hello, Alice!
Welcome, Bob!チートシート
デフォルトパラメータ値は、関数呼び出し時に提供されない場合の関数パラメータのフォールバック値を提供します。
オプションの位置パラメータの場合、デフォルト値付きの角括弧を使用します:
void greet(String name, [String greeting = 'Hello']) {
print('$greeting, $name!');
}
greet('Dart'); // Hello, Dart!
greet('Dart', 'Welcome'); // Welcome, Dart!
名前付きパラメータの場合、デフォルト値を直接割り当てます:
void showInfo({required String name, int age = 30}) {
print('$name is $age years old');
}
showInfo(name: 'Alex'); // Alex is 30 years old
showInfo(name: 'Maya', age: 25); // Maya is 25 years old
自分で試してみよう
void main() {
// これらの名前はすでにあなたのために定義されています
String name1 = 'Alice';
String name2 = 'Bob';
// TODO: greet 関数を2回呼び出す:
// 1. name1 だけを使って一度(デフォルトの挨拶を使用するはず)
// 2. name2 と挨拶 "Welcome" を使って一度
greet(name1);
greet(name2, "Welcome");
}
// TODO: この関数を変更して、greeting パラメータに "Hello" のデフォルト値を追加する
void greet(String name, String greeting) {
print('$greeting, $name!');
}このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。