非空函数returns nothing dart
Non-void function returns nothing dart
我有一个 return int 值的函数,但在某些情况下我想终止该函数而 return 什么都没有。
举个例子:
int numberFunc(int num){
if(num > 10){
return;
/* terminates the function for numbers more than 10 */
}
return num;
}
这工作正常,但我收到一条警告,说该函数有一个 return 类型的 int 但它没有以 return 语句结束。
如果我使用这样的东西会有问题吗?有什么解决方案?
谢谢
解法:
正如 julemand101 所解释的,我们可以 return 空值。此外,上面的代码 return 为大于 10 的数字设置了空值,因此我们稍后必须处理可能的空值。
您可以 return null。这是尚未设置的任何类型的默认值。
例如:
int i; 等同于 int i = null
您真正想要的是 return null
以表明该方法没有 returning 任何值:
int numberFunc(int num){
if(num > 10){
return null;
/* terminates the function for numbers more than 10 */
}
return num;
}
但请记住,使用 numberFunc 结果的方法需要注意 returned 值可以是 null
.
我有一个 return int 值的函数,但在某些情况下我想终止该函数而 return 什么都没有。
举个例子:
int numberFunc(int num){
if(num > 10){
return;
/* terminates the function for numbers more than 10 */
}
return num;
}
这工作正常,但我收到一条警告,说该函数有一个 return 类型的 int 但它没有以 return 语句结束。
如果我使用这样的东西会有问题吗?有什么解决方案?
谢谢
解法:
正如 julemand101 所解释的,我们可以 return 空值。此外,上面的代码 return 为大于 10 的数字设置了空值,因此我们稍后必须处理可能的空值。
您可以 return null。这是尚未设置的任何类型的默认值。
例如:
int i; 等同于 int i = null
您真正想要的是 return null
以表明该方法没有 returning 任何值:
int numberFunc(int num){
if(num > 10){
return null;
/* terminates the function for numbers more than 10 */
}
return num;
}
但请记住,使用 numberFunc 结果的方法需要注意 returned 值可以是 null
.