关于函数空安全性的问题



我有一个名为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;
}

,但它继续抛出错误,n1n2不能有'null'的值,因为它的类型,但隐式默认值是'null'。我尝试添加?标记,但它抛出了另一个错误,说

The operator '+' can't be unconditionally invoked because the receiver can be 'null'.

这个错误来自于你的add函数的声明:

int add({int n1, int n2}){
// ...
}
这里你为函数声明了两个可选的参数。但是n1n2int而不是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。

相关内容

  • 没有找到相关文章

最新更新