是否可以使用对数组的引用来创建数组(或任何其他内容)的切片,以指定开始/结束,而不是索引?
例如,假设我正在迭代一个数组,当我到达某个元素时,我想调用一个函数,将数组的一部分从当前元素传递到最后:
let list = [1, 2, 3, 4, 5, 6];
for item in &list {
if passes_test(item) {
process_remainder(&list[item..]); // does not compile
}
}
对于C语言来说,这似乎是一件很自然的事情——引用只是一个指针,切片只是一对指针(或指针和长度),获取多个引用应该是可以的,因为它们都不是可变的.但我找不到正确的语法来做.
或者,是否可以获取给定引用的索引(如C中的指针算法),或者我只需要分解并使用enumerate在迭代时生成索引和引用?