for
Source: compiler/src/builtin_docs/keywords.md Iterates over the values of an array, Vec, range, coroutine or any IntoIterator.
for x in expr { … } pulls one value at a time; ranges such as 0..n are
lazy and allocate nothing. C-style for (init; cond; step) loops do not
exist. In impl Trait for Type, for names the type the trait is
implemented for.
fn main() {
let total = 0;
for x in [1, 2, 3] {
total = total + x;
}
for i in 0..10 {
total = total + i;
}
}
See also#
VecIntoIteratorfn: Declares a function, a method, or (written in an expression) an anonymous function.let: Declares a mutable local variable.const: Declares a binding that cannot be reassigned: a local, a module constant, or a class field that is set only bynew.static: Declares a module-level or class-level slot shared by the whole program, or a method withoutself.readonly: A read-only view of a value: nothing reachable through it can be changed.if: Runs a block when aboolcondition is true.