DART:将函数作为参数传递 [英] DART: Passing function in a function as parameter

查看:91
本文介绍了DART:将函数作为参数传递的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

下面的代码段使我在dartpad中出错.但是相同的代码在我在线上的课程中也能正常工作.我使用的是DART 2.8.4版.

The below snippet of code gives me error in dartpad. But the same code works fine in the course which I am doing online. I am using dart version 2.8.4.

void main() {
  
 int var = operation(5,5,add);  --> Error
  
  //print(operation(5,5,add));
}

// class calculator {
  
//   calculator({this.operand});
  
// }
  

int add(int n1, int n2) {
  return n1+n2;
}

int multiply(int n1, int n2) {
  return n1*n2;
}

int operation(int n1, int n2, Function operand){
  return operand(n1, n2);
}

错误:

Error compiling to JavaScript:
main.dart:3:2:
Error: Expected ';' after this.
 int var = operation(5,5,add);
 ^^^
main.dart:3:10:
Error: Expected an identifier, but got '='.
 int var = operation(5,5,add);
         ^
Error: Compilation failed.

推荐答案

int var = operation(5,5,add); 请勿将 var 用作变量名称,它是 dartlang 中使用的关键字,只需将名称更改为其他名称,就不会出现任何错误:

int var = operation(5,5,add); don't use var as a variable name, it a keyword used in the dartlang, just change the name to anything else and you wont get any error:

int operationResult = operation(5,5,add);

这篇关于DART:将函数作为参数传递的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆