Beim Spielen mit Rust habe ich festgestellt, dass man% c0_de% s und Vec
s (und wahrscheinlich andere) als Referenz durchlaufen kann, anstatt HashMap
zu verwenden.
Die Funktion .iter()
scheint dasselbe Verhalten zu haben.
Sind beide Methoden zum Schleifen über eine Sammlung funktional identisch, oder gibt es feine Unterschiede zwischen dem Verhalten der beiden? Ich stelle fest, dass .iter()
in Beispielen, die ich gefunden habe, der allgemein bevorzugte Ansatz zu sein scheint.
Sind beide Methoden zum Schleifen einer Sammlung funktional identisch?
Ja, sie sind identisch.
Die Implementierung von IntoIterator
für &Vec<T>
:
Die Implementierung von IntoIterator
für &HashMap<K, V, S>
:
Beachten Sie, dass beide nur iter()
aufrufen.
Ich stelle fest, dass .iter () in Beispielen, die ich gefunden habe, der allgemein bevorzugte Ansatz ist.
Ich benutze collection.iter()
immer, wenn ich einen Iterator-Adapter verwenden möchte, und ich benutze &collection
immer dann, wenn ich direkt auf die Sammlung iterieren möchte.