【发布时间】:2021-06-03 04:23:46
【问题描述】:
我是 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);
}
【问题讨论】:
-
在你知道值不为空的情况下使用空断言运算符没有任何问题。
标签: dart dart-null-safety