如何解决是否有更好的方法在Dart中编写此函数
我有按日期排序的项目清单。我要做的基本上是按today,yesterday,this week,this month,this year
现在我有这个
for (var i = 0; i < items.length; i++) {
Item itm = items[i];
DateTime itmDate = itm.date;
int diff = itmDate.diffNow();
if (diff == 0) {
today.add(itm);
return;
}
if (diff == -1) {
yesterday.add(itm);
return;
}
if (diff <= -7) {
week.add(itm);
return;
}
if (diff <= -31) {
month.add(itm);
return;
}
if (diff <= -365) {
year.add(itm);
return;
}
}
}
diffNow()
是DateTime
的扩展,它仅返回一个int
,表示自此以来的天数
我如何优化此代码?
解决方法
您可以改用开关
https://www.tutorialspoint.com/dart_programming/dart_programming_switch_case_statement.htm
检查一下
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。