我想知道Dart可选类Dart之间有什么区别?运算符和Swift可选项。我知道它们都有助于避免空引用,而且Dart具有Optional.dart类,该类的作用似乎与?相似。
Swift Optional只是一个BASICALLY(基本上我在强调)确定它是否为null(空)的枚举。 Dart的选项与Swift的选项有何不同?它们可以类似使用吗?在Dart中,Optional类和使用?有什么区别。操作员? Dart Classes Swift Optionals Dart Optional Class
飞镖:
void main() {
NewClass nc = NewClass();
nc.p = 3;
print(nc.p); //prints 3
nc = null;
if(nc?.num != null) {
nc.num = 4; //never entered
}
print(nc.num); // Uncaught exception:Cannot read property
// 'get$num' of null
}
class NewClass {
var p;
int num;
}
答案 0 :(得分:1)
Dart没有属于该语言的Optional
类。您链接到的程序包是第三方程序包。
Dart具有 null运算符(例如??
,??=
,?.
,...?
)。它们专门用于null
值;没有特殊类型。
Swift具有可选的 types ;它使您可以声明变量的类型为Int?
,这意味着它可以为null或为Int
。
在Dart中,任何变量都可以存储空指针。请注意,这里有ongoing work to add non-nullable types to Dart,因此最终应该会改变。