带你读《深入浅出Dart》五、函数

简介: 带你读《深入浅出Dart》五、函数

五、函数

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

 

相关文章
|
12月前
|
Dart 开发者
带你读《深入浅出Dart》十、更多特性(1)
带你读《深入浅出Dart》十、更多特性(1)
|
12月前
|
Dart
带你读《深入浅出Dart》十七、Dart的Stream(1)
带你读《深入浅出Dart》十七、Dart的Stream(1)
|
12月前
|
Dart API
带你读《深入浅出Dart》十七、Dart的Stream(2)
带你读《深入浅出Dart》十七、Dart的Stream(2)
|
12月前
|
Dart 数据处理
带你读《深入浅出Dart》十七、Dart的Stream(3)
带你读《深入浅出Dart》十七、Dart的Stream(3)
|
12月前
|
Dart
带你读《深入浅出Dart》十一、Dart模块化详解
带你读《深入浅出Dart》十一、Dart模块化详解
|
12月前
|
Dart
带你读《深入浅出Dart》十八、Dart的Isolate(1)
带你读《深入浅出Dart》十八、Dart的Isolate(1)
|
12月前
|
Dart JavaScript 前端开发
带你读《深入浅出Dart》七、类和对象(1)
带你读《深入浅出Dart》七、类和对象(1)
|
12月前
|
存储 Dart 索引
带你读《深入浅出Dart》六、Dart中的集合类型(1)
带你读《深入浅出Dart》六、Dart中的集合类型(1)
|
12月前
|
Dart
带你读《深入浅出Dart》十二、Dart库的使用和创建(1)
带你读《深入浅出Dart》十二、Dart库的使用和创建(1)
|
12月前
|
Dart
带你读《深入浅出Dart》七、类和对象(2)
带你读《深入浅出Dart》七、类和对象(2)