函数
Dart语言作为一门面向对象的语言,函数在其中占据了非常重要的位置。本文将详细解析如何定义和调用函数,以及箭头语法,高阶函数和闭包等内容。
1. 函数的定义和调用
在Dart中,函数可以定义为一段实现特定功能的代码块,可以带有参数和返回值。
定义函数:
void printHello(String name) { print('Hello, $name'); }
调用函数:
printHello('Dart');
2. 箭头语法
当函数体只有一句话的时候,我们可以使用箭头语法来简化函数的定义。
void printHello(String name) => print('Hello, $name'); printHello('Dart');
3. 高阶函数
高阶函数是指可以接收函数作为参数,或者返回函数的函数。Dart语言支持高阶函数。
例如,下面的calculate
函数接受两个参数和一个函数,然后使用传入的函数来操作参数:
void calculate(int a, int b, Function operation) { print(operation(a, b)); } calculate(2, 3, (a, b) => a * b);
4. 闭包
在Dart中,闭包可以定义为一个函数对象,即使其函数对象的调用在它原始范围之外,也能够访问在它词法范围内的变量。换句话说,闭包是一个能够读取其他函数内部变量的函数。
Function makeAdder(int addBy) { return (int i) => addBy + i; } void main() { var adder = makeAdder(2); print(adder(3)); // 输出5 }
在上述代码中,makeAdder
函数返回一个新的函数,这个新的函数能够访问makeAdder
函数的内部变量addBy
。