我有一个名为add的函数,它将两个数字相加并在dart中返回结果。
void main() {
int step1Result = add(n1: 5, n2: 9);
int step2Result = multiply(step1Result, 5);
double finalResult = step2Result / 3;
print(finalResult);
}
int add({int n1, int n2}){
return n1 + n2;
}
,但它继续抛出错误,n1
和n2
不能有'null'的值,因为它的类型,但隐式默认值是'null'。我尝试添加?
标记,但它抛出了另一个错误,说
The operator '+' can't be unconditionally invoked because the receiver can be 'null'.
这个错误来自于你的add
函数的声明:
int add({int n1, int n2}){
// ...
}
这里你为函数声明了两个可选的参数。但是n1
和n2
是int
而不是int?
要解决此问题,您可以将函数转换为采用int?
类型。或者添加required
关键字,告诉函数只有在两个参数都给定的情况下才会工作。
void main() {
int step1Result = add(n1: 5, n2: 9);
int step2Result = multiply(step1Result, 5);
double finalResult = step2Result / 3;
print(finalResult);
}
int add({required int n1,required int n2}){
return n1 + n2;
}
您可以在官方文档中了解有关null安全语法和原则的更多信息:https://flutter.dev/docs/null-safety.
https://api.flutter.dev/flutter/material/DropdownButton-class.html。