《深入浅出Dart》函数

2023-07-27 16:18:05 浏览数 (2)

现代JavaScript高级小册

深入浅出Dart

现代TypeScript高级小册

函数

Dart语言作为一门面向对象的语言,函数在其中占据了非常重要的位置。本文将详细解析如何定义和调用函数,以及箭头语法,高阶函数和闭包等内容。

1. 函数的定义和调用

在Dart中,函数可以定义为一段实现特定功能的代码块,可以带有参数和返回值。

定义函数:

代码语言:javascript复制
void printHello(String name) {
  print('Hello, $name');
}

调用函数:

代码语言:javascript复制
printHello('Dart');

2. 箭头语法

当函数体只有一句话的时候,我们可以使用箭头语法来简化函数的定义。

代码语言:javascript复制
void printHello(String name) => print('Hello, $name');

printHello('Dart');

3. 高阶函数

高阶函数是指可以接收函数作为参数,或者返回函数的函数。Dart语言支持高阶函数。

例如,下面的calculate函数接受两个参数和一个函数,然后使用传入的函数来操作参数:

代码语言:javascript复制
void calculate(int a, int b, Function operation) {
  print(operation(a, b));
}

calculate(2, 3, (a, b) => a * b);

4. 闭包

在Dart中,闭包可以定义为一个函数对象,即使其函数对象的调用在它原始范围之外,也能够访问在它词法范围内的变量。换句话说,闭包是一个能够读取其他函数内部变量的函数。

代码语言:javascript复制
Function makeAdder(int addBy) {
  return (int i) => addBy   i;
}

void main() {
  var adder = makeAdder(2);
  print(adder(3)); // 输出5
}

在上述代码中,makeAdder函数返回一个新的函数,这个新的函数能够访问makeAdder函数的内部变量addBy

0 人点赞