我是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);
}
您的代码很好,但是您可以使用以下方法避免在地图中收集未知键pizzaPrices
:
for (var item in order) {
total += pizzaPrices[item] ?? 0.0;
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句