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