gpt4 book ai didi

dart - 为什么在空安全的Dart中使用 'var'声明的变量为空?

转载 作者:行者123 更新时间:2023-12-03 04:35:11 25 4
gpt4 key购买 nike

我正在从docs复制此文件

// In null-safe Dart, none of these can ever be null.
var i = 42; // Inferred to be an int.
String name = getFileName();
final b = Foo();
但是我正在 null-safe dartpad中运行以下代码,并且可以编译。
void main() {
var x = null;
print(x);
}
这是文档错误还是我缺少什么?

最佳答案

您的示例与文档试图解释的内容不太接近。尝试以下方法:

void main() {
var x = 42;
x = null; // Error: A value of type 'Null' can't be assigned to a variable of type 'int' - line 3
print(x);
}
原因是 var x = 42是“推断为 int”,而不是 int?
在您的示例中,发生的事情是 var x = null已解析,因此 x被视为 dynamic类型,因为Dart不知道您要使用哪种类型。由于 dynamic可以具有值 null,因此您可以使用。

关于dart - 为什么在空安全的Dart中使用 'var'声明的变量为空?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64281775/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com