将函数/方法分配给Dart中的变量

将函数/方法分配给Dart中的变量,dart,Dart,Dart是否支持变量函数/方法的概念?因此,通过存储在变量中的方法名调用方法 例如,在PHP中,这不仅适用于方法: //使用函数。。。 函数foo() { 呼应“奔跑的食物…”; } $function='foo'; $function(); //有课。。。 公共静态函数工厂($view) { $class='View'.ucfirst($View); 返回新的$class(); } 我没有在语言教程或API中找到它。还有其他方法可以这样做吗 提前感谢。要将函数名存储在变量中并稍后调用它,您必

Dart是否支持变量函数/方法的概念?因此,通过存储在变量中的方法名调用方法

例如,在PHP中,这不仅适用于方法:

//使用函数。。。
函数foo()
{
呼应“奔跑的食物…”;
}
$function='foo';
$function();
//有课。。。
公共静态函数工厂($view)
{
$class='View'.ucfirst($View);
返回新的$class();
}
我没有在语言教程或API中找到它。还有其他方法可以这样做吗


提前感谢。

要将函数名存储在变量中并稍后调用它,您必须等待反射到达Dart(或带有)。但是,您可以直接将函数存储在变量中,如JavaScript中

main(){
变量f=(字符串s)=>打印;
f(“你好世界”);
}
甚至可以将它们内联,如果您正在进行递归,这会很方便:

main(){
g(国际一级){
如果(i>0){
打印($i大于零);
g(i-1);
}否则{
打印(“零或负片”);
} 
}
g(10);
}
然后可以将存储的函数传递给其他函数

main(){
var函数;
函数=(字符串)=>打印;
嫁妆(功能);
}
销钉(f(串s)){
f(“你好世界”);
}

< /代码> 我可能不是最好的解释者,但是你可以认为这个例子有一个更大范围的函数赋值给变量,也可以使用一个闭包函数作为函数的一个参数。
  void main() {
      // a closure function assigned to a variable.
      var fun = (int) => (int * 2); 
      // a variable which is assigned with the function which is written below
      var newFuncResult = newFunc(9, fun); 
      print(x); // Output: 27
    }

    //Below is a function with two parameter (1st one as int) (2nd as a closure function)
        int newFunc(int a, fun) {
          int x = a;
          int y = fun(x);
          return x + y;
        }

谢谢你的回答。我想这将有助于解决我的问题。没有考虑Javascript在变量中存储函数的方式……您使用
int
作为参数名?小心。