如何在空安全更新后在dart中进行整数输入,而不使用if块来验证变量是否为空



每次我需要将某个变量输入为整数时,我都会将下面的代码用于

import 'dart:io';
void main(List<String> arguments) {
int a = 0;
print("Enter a :");
String? x = stdin.readLineSync();
if (x != null) {
a = int.parse(x);
}
}

这是非常繁忙的。。。自从Dart 2.12版本添加了零安全性以来。在此之前,使用此代码int n = int.parse(stdin.readLineSync());输入整数有人能提议把它缩小吗。。。因为它很重。。

因为Dart 2.12.2默认使用空安全。我们还知道,由于null安全性,int.parse((获取的字符串不能为null。但是int.parse(readLineSync(((可以返回int?它是一个可以为null的值,只需在stdin.readLineSync((的末尾添加null断言运算符(!(,如下面的代码所示

import 'dart:io';

void main(List<String> arguments) {

print("Enter a :");
int? a = int.parse(stdin.readLineSync()!);
}

null断言运算符(!(

如果您确定具有可为null类型的表达式不是null,则可以使用null断言运算符(!(使Dart将其视为不可为null。通过添加!在表达式之后,您告诉Dart该值不会为null,并且将其分配给不可为null的变量是安全的。

注意:-如果你错了,Dart会在运行时抛出一个异常。这使得!运算符unsafe,所以除非您非常确定该表达式不是null,否则不要使用它。

希望你觉得这个有用。。。(☞゚ヮ゚)☞

相关内容

  • 没有找到相关文章

最新更新