Dart中的模态行为不同于JavaScript,C,C ++等中的行为。它与Python共享其行为,并且关于这个主题,这里有一个很好的答案。
在@kennytm的出色答案中添加了一点,对此的直观解释是,它的工作类似于正因式分解(至少在Dart中如此):
17 % 6 == 5 <=> -7 % 6 == 5
(2 * 6 + 5) % 6 == 5 <=> (-2 * 6 + 5) % 6 == 5
但是,可以很容易地以不同的方式合理地实现它,但这就是Dart中的工作方式。
这样做的好处如下(引用前面提到的答案):
之所以选择它是因为C行为,因为非负结果通常更有用。一个示例是计算工作日。如果今天是星期二(第2天),那么N天之前的星期几是什么?在Python中,我们可以使用
return (2 - N) % 7
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句