这闻起来很难闻:
let millis = time % 1000;
match millis {
0..=199 => do_something(),
200..=599 => do_something_else(),
600..=999 => do_something_altogether_different(),
_ => panic!("There are only 1,000 ms in a second."),
}
永远不会调用"u" case ,因为millis
代表time % 1000
.
我如何重写它,使我只有三个分支?
理想情况下,我还希望删除199/200、599/600和999/1000/0的副本.
如果最好的解决方案不是match
,我很乐意使用其他控制 struct .