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 函数添加默认值 "Hello",补全这个函数。

预期输出:

Hello, Alice!
Welcome, Bob!

亲手试试

void main() {
  // 这些名字已经为你定义好了
  String name1 = 'Alice';
  String name2 = 'Bob';
  
  // TODO: 调用 greet 函数两次:
  // 1. 第一次只传入 name1(应使用默认问候语)
  // 2. 第二次传入 name2 和问候语 "Welcome"
  greet(name1);
  greet(name2, "Welcome");
}

// TODO: 修改这个函数,为 greeting 参数添加默认值 "Hello"
void greet(String name, String greeting) {
  print('$greeting, $name!');
}
quiz icon自我测试

这节课包含一个小测验。开始学习即可作答,并记录你的进度。

基础知识中的所有课

自己练习: Dart 在线编译器