dart - 编写此条件语句的更短方法?

标签 dart flutter

有没有比这样编码更好的选择:

String reps = status != null && status.sets != null && status.sets[index].reps != null ? status.sets[index].reps.toString() : '-';

我也可以这样做:

String reps;
try {
  reps = hasImprovedReps ? currentReps : status.sets[index].reps.toString();
} catch (e) {
  reps = '-';
}

但这样它就不是一行,也不是一个条件,所以我可以在 Text() 构造函数中使用它。

最佳答案

您可以使用 ?.?? 运算符:

String reps = status?.sets?.elementAt(index)?.reps?.toString() ?? '-'

关于dart - 编写此条件语句的更短方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54815732/

相关文章:

class - 在 Dart 中,从变量调用静态方法时出现问题

flutter - 将 32 位整数写入文件?

dart - 在 Dart 中通过拖动来移动元素

google-maps - Google Maps for Flutter - 拖动后获取标记的新位置

list - RangeError(索引): Invalid value. 有效值范围为空:0

flutter - 将小部件从其容器外部动画到其最终位置

android - 当onTap时,所有图标都会更改颜色,如何在单击时仅更改一个?

Flutter应用程序Azure MySQL服务器连接超时错误

webview - 有什么方法可以使用 Url_launcher 插件在 Iphone 浏览器上隐藏 url

flutter - 在Flutter中,将整个应用程序包装在WillPopScope中时,不会调用onWillPop