我用颤振制作了一个 BMI 计算器。我是新来的。运行代码后,我收到上述警告。请为我提供此问题的解决方案。下面附上代码链接
问问题
103 次
2 回答
3
您将_result
变量声明为不可为空,
late double _result;
但是你做一个null
检查
null == _result ? "Enter Value" : _result.toStringAsFixed(2),
所以把你的变量声明改成这个,
double? _result;
然后你可以null
检查这种方式
_result?.toStringAsFixed(2) ?? "Enter Value" ,
于 2021-12-20T10:19:04.753 回答
2
你声明了这样的结果变量:
late double _result;
_result
是变量名,double
是类型。
late
表示您尚未为其分配值。
在可空变量的值可能为空的意义上,后期变量与可为空变量不同,后期变量在您分配一个值之前没有值。
late int xd;
if (xd == null) {
}
上面的 if 将始终为 false,因为xd
' 的值不为 null,xd 根本没有任何值。
可以为空的变量?
在类型之后用 a 确定:
double? _result;
这意味着如果您没有为其分配任何内容,它将为null,但您也可以直接分配null。
_result = null;
late
以上对于变量是不可能的。
于 2021-12-20T10:21:15.293 回答