dart partition:基于谓词的dart中的可迭代分区 源码
分区-根据谓词拆分可迭代项 将一个列表分成两部分; 不多不少 但是如何? final source = Iterable . generate ( 10 ); final result = source. partition ((i) => i.isEven); print (result.matching); // [ 0, 2, 4, 6, 8 ] print (result.nonMatching); // [ 1, 3, 5 ,7 ,9 ] 默认情况下,分区将延迟进行。 这意味着,每次访问时间要么matching或nonMatching (即使检查长度),它会遍历整个源迭代。 要热切分区(并且仅在源上迭代一次): final source = Iterable . generate ( 10 ); final result = source.