dart - 有没有办法将if语句折叠为单行? =>条件?做东西();

标签 dart

我想转这个:

  void check() {
    if(condition){
      doSomething();
    }
  }
变成这个:
  void check() => condition? doSomething();
有没有规范的方法可以做到这一点?
[编辑]
我知道三元方法:condition? doStuff() : null,但这会生成编译器警告。
[Edit2]
在单行表达式中使用带有: null的三进制时不会生成警告。因此从技术上讲这是可行的。我希望有一些可读性更高的东西,晃来晃去的: null 表示这里有些奇怪的意图,可能不会对将来的读者造成混淆。

最佳答案

您可以使用条件运算符。
一般示例:

result = testCondition ? trueValue : falseValue
具体的例子:
void check() => condition ? doSomething() : null;

或者您可以将整个if语句放在一行上
=> () {if(condition) doSomething();};

关于dart - 有没有办法将if语句折叠为单行? =>条件?做东西();,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63341854/

相关文章:

flutter - 有什么办法可以消除 flutter 中的传递依赖吗?

windows - 如何防止 Dart 使用我的主目录?

dart - Flutter - 如何更新 Sqflite 中的表结构?

dart - 将常量和最终放入 Dart

firebase - 怎么把Firebase Map转换成Dart Map?

dart - 分析器无法在Visual Studio Code中工作……还是吗?

Flutter TextButton 填充

dart - 如何在没有用户交互的情况下发送短信?

json - 将 Firebase 实时数据库 json 响应从 _InternalLinkedHashMap<Object?, Object?> 转换为 Map<String,dynamic>

android - 如何在 flutter 中导航到新屏幕,同时仍保留底部NavigationBar