Метод get
Метод get возвращает опциональную ссылку
на элемент среза по заданному индексу. Он
принимает индекс в качестве параметра и
возвращает Some со ссылкой на элемент,
если индекс находится в пределах среза, или
None в противном случае. Этот метод
безопасен, так как не вызывает паники при
выходе за границы.
Синтаксис
slice.get(index)
Пример
Давайте получим элемент с индексом 2
из среза [10, 20, 30, 40, 50]:
fn main()
{
let arr = [10, 20, 30, 40, 50];
let res = arr.get(2);
println!("{:?}", res);
}
Результат выполнения кода:
Some(30)
Пример
Давайте попробуем получить элемент с индексом
10, который выходит за границы среза:
fn main()
{
let arr = [10, 20, 30, 40, 50];
let res = arr.get(10);
println!("{:?}", res);
}
Результат выполнения кода:
None
Пример
Давайте извлечём значение из результата
get с помощью сопоставления с
образцом:
fn main()
{
let arr = ["a", "b", "c", "d", "e"];
match arr.get(1)
{
Some(val) => println!("{}", val),
None => println!("index out of bounds"),
}
}
Результат выполнения кода:
"b"