Dart-将函数(方法)作为函数参数


工程中经常会用到button的onTap或者onPressed方法,传进去的一般都是函数名字,比如:onTap: f,  f可能的定义为:void f(int x,int y){//xxxxxx;}

按照之前写c++的经验,传递函数应该是用函数指针方法传递的,细节有点忘了,但参数/返回值都是一定指定好的。

Dart中的情况不太一样:

写法1:

1 int f2(int x,int y){return x+y;}
2 
3 int f3(dynamic f){return f(1,2);}
4 main(){
5   print(f3(f2));
6 }

 

 

写法2:

int f2(int x,int y){return x+y;}

int f3(Function(int,int) f){return f(1,2);}
// 闭包.dart
void main(){
  print(f3(f2));
}

Function不加参数类型不行。

别的方法暂时还没掌握,以后再加

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM