返回
Dart 函数 (四):深入剖析参数与类特性
Android
2023-11-03 23:12:30
函数参数
在 Dart 中,函数参数可以分为必要参数和可选参数。必要参数是调用函数时必须提供的参数,而可选参数则是非必需的,可以根据需要提供。
必要参数
必要参数在函数签名中没有指定默认值,因此在调用函数时必须显式提供。例如:
void greet(String name) {
print('Hello, $name!');
}
greet('John'); // 必须提供 "John" 作为参数
可选参数
可选参数在函数签名中指定了默认值,在调用函数时可以省略。如果省略可选参数,则将使用其默认值。例如:
void greet(String name, [String? greeting = 'Hello']) {
print('$greeting, $name!');
}
greet('John'); // 默认问候语为 "Hello"
greet('John', 'Good morning'); // 自定义问候语
默认值
无论必要参数还是可选参数,都可以定义默认值。默认值必须是编译时常量,例如字符串、数字或布尔值。例如:
void greet(String name, [int age = 18]) {
print('Hello, $name! You are $age years old.');
}
greet('John'); // 默认年龄为 18
greet('John', 25); // 自定义年龄
函数类
在 Dart 中,一切皆对象,包括函数。所有函数都属于一个名为 Function 的类,该类继承自 Object 类。Function 类提供了诸如 call() 方法之类的基本功能,该方法允许函数被调用。
示例代码
以下示例代码演示了 Dart 中函数参数和类的特性:
void main() {
// 定义一个带有必要参数和可选参数的函数
void greet(String name, [String? greeting = 'Hello']) {
print('$greeting, $name!');
}
// 调用函数,省略可选参数
greet('John');
// 调用函数,提供自定义可选参数
greet('Mary', 'Good morning');
// 获取函数的类型并打印其名称
print(greet.runtimeType.toString()); // Function
}
输出:
Hello, John!
Good morning, Mary!
Function