[英]How to use operators like *= and += with Dart maps and null-safety
如果我有一个 map 像:
Map<String, int> myMap = Map();
添加键和值:
myMap.putIfAbsent("yolo", 1000);
然后使用+=
之类的运算符添加一个数字
myMap["yolo"] += 100;
使用 null 安全时,它会抛出一个错误说
不能无条件调用方法“+”,因为接收者可以为“null”。
在 map 中,基于键设置值的最佳方法是什么?
预计会出现此错误。 如果您的 map 不包含带有键"yolo"
的条目,则调用myMap["yolo"] += 100;
会导致运行时 null 错误。
如果0
是此上下文的合理“默认值”,您可以编写如下内容:
myMap["yolo"] = (myMap["yolo"] ?? 0) + 100;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.