You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Dart中用一行代码实现变量非空时的条件执行?

Dart 一行代码实现非空变量执行操作

在Dart里,要实现「仅当变量不为空时执行操作」的逻辑,不用写冗长的if判断,一行代码就能搞定。下面结合示例对比两种写法:

void main() {
  
  int? i; // 不确定该变量是否为空
  
  // 变量为空时执行操作:繁琐写法
  if (i == null) {
    print("变量为空");
  }
  
  // 变量为空时执行操作:一行写法
  i ?? print("变量为空");
  
  // 变量不为空时执行操作:繁琐写法
  if (i != null) {
    print("变量不为空");
  }
  
  // 变量不为空时执行操作:一行写法(推荐)
  i?.run(() => print("变量不为空"));
  
  // 另一种等价的一行写法
  i != null ? print("变量不为空") : null;
}

写法说明

  1. ?.run() 写法:
    ?.是Dart的空安全访问操作符,当i不为空时,会执行run方法内的回调逻辑;如果i为空,整个表达式直接返回null,不会执行回调。这种写法更符合Dart空安全的设计风格,可读性也更强。

  2. 三元运算符?:写法:
    明确判断i是否非空,满足条件时执行目标操作,不满足时返回null,逻辑直白,也能实现一行代码的需求。

内容的提问来源于stack exchange,提问作者Nerdy Bunz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.03 09:11:31