非空函数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.