我熟悉 switch case 语句,但不熟悉 switch 语句。这是 Dart 中添加的新功能吗?它到底有什么作用?这是代码片段。
Map.fromEntries(
inputMap.entries.map(
(e) {
return MapEntry(
e.key,
switch (e.value) {
DateTime t => toJsonDateTime(t),
Duration d => toJsonDuration(d),
Enum t => t.name,
_ => e.value,
});
},
),
),
他们只是修改了这篇
文章中解释的
switch
语句的模式。
它适用于
sdk version >= 3.0.0
。
在您的代码中,它的工作方式与之前完全相同,例如如果
e.value
是 DateTime
对象,则此情况执行并调用 toJsonDateTime
函数,依此类推。
“
_
”(下划线)充当默认处理程序并且是可选的。