工程中經常會用到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不加參數類型不行。
別的方法暫時還沒掌握,以后再加
