flutter 如何有条件地执行代码,如果一个变量是非空的一行代码在 dart ?

pod7payv  于 2023-01-27  发布在  Flutter
关注(0)|答案(1)|浏览(113)

在Dart中,我们如何仅在变量为NOT null时执行操作...并在一行中完成?
示例:

void main() {
  
  int? i; // pretend we don't know if it's null or not
  
  // the laborious way:
  if (i == null) {
    print("the variable is null");
  }
  
  // the one-line way:
  i ?? print("the variable is null");
  
  // the laborious way:
  if (i != null) {
    print("the variable is not null");
  }
  
  // the one-line way:
   
  // i <what opertaor goes here?> print("the variable is null")
  
}
1aaf6o9v

1aaf6o9v1#

实际上,如果删除主体参数“{}”,它将是单行。

if (i == null) print("if (i == null), the variable is not null");

你也可以用三进制做一些事情,但是似乎有额外的null。

i == null ? print("i==null, the variable is not null") : null;

你可以使用这个扩展,你可以根据你的需要返回bool。

extension NullChecker<T> on T? {
  get isNull => print("This variable is ${this != null ? "not" : ""} null");
}

和使用,

void main() {
  int? i = 4, j;
  i.isNull; //This variable is not null
  j.isNull; //This variable is  null
}

相关问题