Como encontrar o índice de um elemento em um array, vector ou slice em Rust?
Olá! Sou novo em Rust e estou tentando resolver uma tarefa simples: encontrar o índice de um elemento em um array. Em outras linguagens (por exemplo, Python), estou acostumado com métodos como `list.index()`, mas em Rust é diferente.
Aqui está um exemplo: tenho um array de números e quero encontrar o índice do número `5`.
```rust
fn main() {
let arr = [1, 3, 5, 7, 9];
let target = 5;
// Como encontrar o índice de 5?
}
```
Tentei usar `arr.iter().position(|x| x == target)`, mas recebo um erro. Na documentação diz que `position` retorna `Option`, e não entendo como lidar corretamente com esse resultado. Também não tenho certeza se funciona para `Vec` e slices (`&[i32]`).
Outra pergunta: o que fazer se o elemento não for encontrado? Em Python, eu obteria uma exceção, mas em Rust, pelo que entendi, é necessário lidar com `None`. Mas como fazer isso de forma elegante e idiomática?
Agradeceria exemplos para array, vector e slice. Quero entender como isso funciona em Rust, especialmente considerando o sistema de ownership e borrowing. Desde já, obrigado!
No answers yet.
Faça login para deixar uma resposta