Метод split_first
Метод split_first разделяет слайс на первый элемент
и остаток. Он возвращает Option, который содержит
кортеж из ссылки на первый элемент и слайса с остальными
элементами. Если слайс пуст, метод возвращает None.
Метод не принимает параметров.
Синтаксис
slice.split_first()
Пример
Давайте разделим слайс [1, 2, 3, 4, 5] на первый
элемент и остаток:
fn main()
{
let arr = [1, 2, 3, 4, 5];
let res = arr.split_first();
println!("{:?}", res);
}
Результат выполнения кода:
Some((1, [2, 3, 4, 5]))
Пример
Давайте разделим пустой слайс:
fn main()
{
let arr: [i32; 0] = [];
let res = arr.split_first();
println!("{:?}", res);
}
Результат выполнения кода:
None
Пример
Давайте извлечем первый элемент и остаток с помощью сопоставления с образцом:
fn main()
{
let arr = ["a", "b", "c", "d", "e"];
match arr.split_first() {
Some((first, rest)) => {
println!("first: {}", first);
println!("rest: {:?}", rest);
},
None => println!("empty slice"),
}
}
Результат выполнения кода:
first: "a"
rest: ["b", "c", "d", "e"]