DART:将函数作为参数传递

时间:2020-06-24 08:04:01

标签: android-studio flutter dart

以下代码段使我在dartpad中出错。但是相同的代码在我在线上的课程中也能正常工作。我使用的是Dart 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.

1 个答案:

答案 0 :(得分:3)

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

int operationResult = operation(5,5,add);
相关问题