getRange 方法

Iterable<E> getRange(
  1. int start,
  2. int end
)
override

创建一个迭代器,遍历一系列元素。

返回的迭代器遍历此列表中大于或等于 start 且小于 end 的元素。

提供的范围,startend,必须在调用时有效。如果 0 ≤ startendlength,则从 startend 的范围有效。空范围(end == start)也是有效的。

返回的 Iterable 的行为类似于 skip(start).take(end - start)。也就是说,如果这个列表的大小发生变化,它不会中断,只是在达到列表的末尾时(如果 end,甚至是 start,变为大于 length)会提前结束。

final colors = <String>['red', 'green', 'blue', 'orange', 'pink'];
final firstRange = colors.getRange(0, 3);
print(firstRange.join(', ')); // red, green, blue

final secondRange = colors.getRange(2, 5);
print(secondRange.join(', ')); // blue, orange, pink

实现

Iterable<E> getRange(int start, int end) {
  RangeError.checkValidRange(start, end, this.length);
  return SubListIterable<E>(this, start, end);
}