Dart Null安全/断言运算符

罗恩·弗曼

我是Dart的新手。我正在计算比萨订单的价格。在当前解决方案中,我正在使用断言运算符。你怎么看待这件事?

我读过很多次,你不应该使用它。您认为我的代码还可以,还是您会做得更好/不同?

void main() {
  const List<String> order = ['margherita', 'pepperoni', 'pineapple'];
  calcTotalPrice(order: order);
}

calcTotalPrice({required List<String> order}) {
  final Map<String, double> pizzaPrices = {
    'margherita': 5.5,
    'pepperoni': 7.5,
    'vegetarian': 6.5
  };

  double total = 0.0;

  for (var item in order) {
    pizzaPrices[item] ??= 0.0;
    total += pizzaPrices[item]!; // assertion operator (!)
  }

  print(total);
}
亚历山大·阿杜因(Alexandre Ardhuin)

您的代码很好,但是您可以使用以下方法避免在地图中收集未知键pizzaPrices

for (var item in order) {
  total += pizzaPrices[item] ?? 0.0;
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Dart Null安全/断言运算符

来自分类Dev

在Dart中对类型安全的对象使用Spread运算符

来自分类Dev

使用安全运算符的Kotlin非null断言

来自分类Dev

这个运算符是什么?在Dart?

来自分类Dev

在Dart中重载++和+ =运算符

来自分类Dev

Dart有逗号运算符吗?

来自分类Dev

Whats ?? = Dart中的运算符

来自分类Dev

哪些Dart运算符可以重载?

来自分类Dev

Dart 中的 += 运算符重载

来自分类Dev

Dart您可以重载赋值运算符吗?

来自分类Dev

Dart的运算符重载如何转换为javascript?

来自分类Dev

Dart中的Map []运算符在哪里定义?

来自分类Dev

像C#这样的Dart显式运算符?

来自分类Dev

Dart:将派生类的比较运算符委派给基类的比较运算符

来自分类Dev

在Angular2中正确使用Elvis运算符以获取Dart组件的视图

来自分类Dev

如何在DART_API中从C ++调用运算符?

来自分类Dev

Dart中的函数/运算符,用于获取数据类型的大小

来自分类Dev

Android Studio将Dart Spread运算符标记为Flutter项目中的错误

来自分类Dev

@运算符在dart中到底是什么意思?

来自分类Dev

如何确保泛型中的类型在Dart中实现了某些运算符?

来自分类Dev

如何在DART_API中从C ++调用运算符?

来自分类Dev

Dart:在分配中使用*运算符时,分配了多少个字符串对象?

来自分类Dev

如何在Dart中一起使用增量和爆炸运算符:<nullable_variable>!++`?

来自分类Dev

如何在Dart三元运算符中检查空控件值以显示默认图像(如果为空)?

来自分类Dev

如何在Dart中一起使用增量和爆炸运算符:<nullable_variable>!++`?

来自分类Dev

Dart:在分配中使用*运算符时,分配了多少个字符串对象?

来自分类Dev

非null断言运算符仍在引发编译时错误

来自分类Dev

Dart在构造函数中断言是否不为null

来自分类Dev

??的用法 运算符(null-coalescing运算符)

Related 相关文章

  1. 1

    Dart Null安全/断言运算符

  2. 2

    在Dart中对类型安全的对象使用Spread运算符

  3. 3

    使用安全运算符的Kotlin非null断言

  4. 4

    这个运算符是什么?在Dart?

  5. 5

    在Dart中重载++和+ =运算符

  6. 6

    Dart有逗号运算符吗?

  7. 7

    Whats ?? = Dart中的运算符

  8. 8

    哪些Dart运算符可以重载?

  9. 9

    Dart 中的 += 运算符重载

  10. 10

    Dart您可以重载赋值运算符吗?

  11. 11

    Dart的运算符重载如何转换为javascript?

  12. 12

    Dart中的Map []运算符在哪里定义?

  13. 13

    像C#这样的Dart显式运算符?

  14. 14

    Dart:将派生类的比较运算符委派给基类的比较运算符

  15. 15

    在Angular2中正确使用Elvis运算符以获取Dart组件的视图

  16. 16

    如何在DART_API中从C ++调用运算符?

  17. 17

    Dart中的函数/运算符,用于获取数据类型的大小

  18. 18

    Android Studio将Dart Spread运算符标记为Flutter项目中的错误

  19. 19

    @运算符在dart中到底是什么意思?

  20. 20

    如何确保泛型中的类型在Dart中实现了某些运算符?

  21. 21

    如何在DART_API中从C ++调用运算符?

  22. 22

    Dart:在分配中使用*运算符时,分配了多少个字符串对象?

  23. 23

    如何在Dart中一起使用增量和爆炸运算符:<nullable_variable>!++`?

  24. 24

    如何在Dart三元运算符中检查空控件值以显示默认图像(如果为空)?

  25. 25

    如何在Dart中一起使用增量和爆炸运算符:<nullable_variable>!++`?

  26. 26

    Dart:在分配中使用*运算符时,分配了多少个字符串对象?

  27. 27

    非null断言运算符仍在引发编译时错误

  28. 28

    Dart在构造函数中断言是否不为null

  29. 29

    ??的用法 运算符(null-coalescing运算符)

热门标签

归档