Dart| Flutter :返回函数的多种方法

934 阅读1分钟

本教程展示了在dart和flutter编程中用延迟计时器重复执行一个函数的多种方法。

函数声明了一个返回类型和返回值。

在Dart中,Function也会返回函数,这意味着Function也是像原始类型一样的类型。而类型是Function

如何在Dart中返回一个函数

下面的例子表明,Function返回的是Function类型。

函数声明中包含的返回类型为Function

Function FuncationName(arguments);

函数主体包含一个返回函数名的封闭函数:嵌套函数返回。

下面是一个Function type函数返回的例子:

void main() {
  Function sumCalculator = calculator(1);
  print(sumCalculator(6)); //7
  print(calculator(20)(5)); //25
}

Function calculator(int first) {
  num sum(second) {
    return first + second;
  }

  return sum;
}

输出:

7
25

同样可以使用Arrow或匿名函数Arrow函数返回重写

void main() {
  Function sum = calculator(8);
  print(sum(4)); //12
  print(calculator(2)(6)); //8
}

Function calculator(int first) {
    return (second) => first + second;
}

输出

12
8

这里是另一个用Function()声明的函数

在这里,它返回没有名字的函数,即数值,也叫函数字面。

Function literal 语法:

在这个函数声明中,加入了Function()

  • 嵌套函数没有名称
  • 返回函数字面意义
  • 函数被分配给类型变量Function
void main() {
  Function function = getMessage();
  print(function());
}

String Function() getMessage() {
  return () {
    return 'Hi John';
  };
}

总结

综上所述,学会了用字面语法、嵌套函数和箭头函数返回函数的多种方法。