Dart中的函数式编程
在函数式编程中,可以做到:
- 将函数当做参数进行传递
- 将函数直接赋值给变量
- 对函数进行解构,只传递给函数一部分参数来调用它,让它返回一个函数去处理剩下的参数(也被称为柯里化)
- 创建一个可以被当作为常量的匿名函数,也被称为 lambda表达式
在 Dart中,每个函数都是一个对象,并且每个函数都有它的类型Function,这意味着所有函数都可以支持赋值操作,以及都可以作为参数传递给其他的函数。
命令式编程方式
String scream(int length) => "A${'a' * length}h!";
main() {
final values = [1, 2, 3, 5, 10, 50];
for (var length in values) {
print(scream(length));
}
}
函数式编程方式
String scream(int length) => "A${'a' * length}h!";
main() {
final values = [1, 2, 3, 5, 10, 50];
values.map(scream).forEach(print);
}
函数式的迭代特性
dart:collection 库中的 List 和 Iterable 支持 fold, where, join, skip 等函数式方法,另外 Dart 还支持 Map 和 Set 类型。
String scream(int length) => "A${'a' * length}h!";
main() {
final values = [1, 2, 3, 5, 10, 50];
values.skip(1).take(3).map(scream).forEach(print);
}
版权声明:
作者:Joe.Ye
链接:https://www.appblog.cn/index.php/2023/03/16/functional-programming-in-dart/
来源:APP全栈技术分享
文章版权归作者所有,未经允许请勿转载。
THE END
0
二维码
打赏
海报
Dart中的函数式编程
在函数式编程中,可以做到:
将函数当做参数进行传递
将函数直接赋值给变量
对函数进行解构,只传递给函数一部分参数来调用它,让它返回一个函数去处理剩下的……
文章目录
关闭
共有 0 条评论