Avatar ·

Wie iteriere ich über Vec<T> und erhalte den Index des Elements in Rust?

Hallo zusammen! Ich habe vor kurzem angefangen, Rust zu lernen, und hatte ein Problem beim Durchlaufen eines Vectors mit Zugriff auf den Index des Elements. In anderen Sprachen wie Python oder JavaScript bin ich es gewohnt, etwas wie `for i, value in enumerate(list)` oder `for (let i = 0; i < arr.length; i++)` zu schreiben. In Rust weiß ich, dass ich einfach `for value in vec` verwenden kann, aber dann verliere ich den Index. Ich muss alle Elemente des Vectors zusammen mit ihrer Position auf dem Bildschirm ausgeben, zum Beispiel: ```rust let items = vec!["Apfel", "Banane", "Kirsche"]; // Möchte erhalten: "0: Apfel", "1: Banane", "2: Kirsche" ``` Ich habe es so versucht: ```rust for i in 0..items.len() { println!("{}: {}", i, items[i]); } ``` Das funktioniert, aber ich habe gehört, dass der Zugriff über den Index mit eckigen Klammern eine Panik auslösen kann, wenn der Index außerhalb der Grenzen liegt. Obwohl ich hier die Länge kontrolliere, sieht das für Rust nicht sehr idiomatisch aus. Außerdem könnte es Probleme geben, wenn der Vector während der Iteration verändert wird. Wie kann ich richtig und sicher iter