Menu
CoddyTech

命名参数

本课属于 Coddy Dart 学习旅程的“基础知识”单元。第 73 课,共 94 课。

Dart 中的命名参数允许你通过名称而不是位置来指定函数参数。它们在函数声明中用花括号 {} 定义。默认情况下,它们是可选的。调用时如果省略了没有默认值的可选命名参数,它的值就是 null,因此它的类型必须是可空类型,例如 String? 或 int?。

创建一个带有命名参数的函数:

void greet({String? name, int? age}) {
  print('Hello, $name! You are $age years old.');
}

void main() {
  greet(name: 'Dart', age: 12);
}

运行上面的代码后,输出将是:

Hello, Dart! You are 12 years old.

调用带命名参数的函数时,先写参数名,再写冒号:

void main() {
  // 参数可以按任意顺序排列
  greet(age: 30, name: 'Alice');
}

运行上述代码后,输出将是:

Hello, Alice! You are 30 years old.
challenge icon

挑战

入门

在这个挑战中,你将练习在 Dart 中使用命名参数。调用函数时指定参数名称,可以让函数调用更易读。

为 greetUser 函数添加 name 和 age 命名参数,完成这个函数。然后使用提供的值调用该函数。

预期输出:

Hello, Alice! You are 25 years old.

亲手试试

void main() {
  // 这些值已经为你定义好了
  String userName = 'Alice';
  int userAge = 25;
  
  // TODO:使用命名参数调用 greetUser 函数
  // 将 userName 传给 name 参数,将 userAge 传给 age 参数
  
  
  // 函数定义在下方
}

// TODO:修改这个函数,使用命名参数代替位置参数
// 提示:用花括号 {} 括住参数
void greetUser({required String name, required int age}) {
  print('Hello, $name! You are $age years old.');
}
quiz icon自我测试

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

基础知识中的所有课

自己练习: Dart 在线编译器