推荐答案
在 Dart 中,可以通过在函数定义时为参数指定默认值来设置参数的默认值。默认值可以是常量值、表达式或 null。以下是设置参数默认值的几种方式:
1. 使用 = 设置默认值
void greet(String name, {String message = 'Hello'}) {
print('$message, $name!');
}
void main() {
greet('Alice'); // 输出: Hello, Alice!
greet('Bob', message: 'Hi'); // 输出: Hi, Bob!
}2. 使用 : 设置默认值(适用于命名参数)
void greet(String name, {String message: 'Hello'}) {
print('$message, $name!');
}
void main() {
greet('Alice'); // 输出: Hello, Alice!
greet('Bob', message: 'Hi'); // 输出: Hi, Bob!
}3. 使用 [] 设置可选位置参数
void greet(String name, [String message = 'Hello']) {
print('$message, $name!');
}
void main() {
greet('Alice'); // 输出: Hello, Alice!
greet('Bob', 'Hi'); // 输出: Hi, Bob!
}本题详细解读
1. 使用 = 设置默认值
在 Dart 中,可以通过在函数定义时为命名参数使用 = 来设置默认值。这种方式是最常见的设置默认值的方法。例如:
void greet(String name, {String message = 'Hello'}) {
print('$message, $name!');
}在这个例子中,message 参数有一个默认值 'Hello'。如果在调用 greet 函数时没有提供 message 参数,那么将使用默认值 'Hello'。
2. 使用 : 设置默认值
在 Dart 的早期版本中,使用 : 来为命名参数设置默认值。虽然这种方式仍然有效,但推荐使用 = 来设置默认值,因为 = 更直观且更符合现代 Dart 的语法风格。
void greet(String name, {String message: 'Hello'}) {
print('$message, $name!');
}3. 使用 [] 设置可选位置参数
Dart 还支持可选位置参数,可以通过在函数定义时使用 [] 来指定可选位置参数,并为它们设置默认值。例如:
void greet(String name, [String message = 'Hello']) {
print('$message, $name!');
}在这个例子中,message 是一个可选的位置参数,默认值为 'Hello'。如果在调用 greet 函数时没有提供 message 参数,那么将使用默认值 'Hello'。
总结
在 Dart 中,设置参数的默认值可以通过 =、: 或 [] 来实现。推荐使用 = 来设置命名参数的默认值,因为它更直观且更符合现代 Dart 的语法风格。对于可选位置参数,可以使用 [] 来设置默认值。