我想知道Dart选修课的区别是什么?操作员和斯威夫特选项。我了解到,它们都有助于避免空引用,而且Dart具有类似于?的Optional.dart类。
Swift可选只是一个枚举,基本上(我基本上强调)决定它是否为空(空)。达特的选择和斯威夫特的有什么不同?它们能被类似地使用吗?在Dart中,可选类与使用?类的区别是什么?接线员?省道课 快速选项 省道选修课
省:
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;
}发布于 2019-06-21 16:15:56
Dart没有作为语言一部分的Optional类。链接到的包是第三方包。
Dart有空感知运算符(如??、??=、?.、...?).它们专门用于null值;不涉及特殊类型。
Swift具有可选类型;它允许您声明变量的类型为Int?,这意味着它可能为null或可能是Int。
在Dart中,任何变量都可以存储空指针。请注意,存在正在进行的将非空类型添加到Dart的工作。,因此这种情况最终应该会改变。
https://stackoverflow.com/questions/56695878
复制相似问题