推荐答案
在 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 的语法风格。对于可选位置参数,可以使用 []
来设置默认值。