ps4 - ¿Es posible declarar el tipo de la variable en Rust for loops?
rust traduccion (2)
No, no es posible declarar el tipo de la variable en un ciclo for
.
En cambio, un enfoque más general (por ejemplo, también aplicable a enumerate()
) es introducir un enlace de let
desestructurando el elemento dentro del cuerpo del bucle.
Ejemplo:
for e in bytes.iter().enumerate() {
let (i, &item): (usize, &u8) = e; // here
if item == b'' '' {
return i;
}
}
Ejemplo de C ++:
for (long i = 0; i < 101; i++) {
//...
}
En Rust intenté:
for i: i64 in 1..100 {
// ...
}
Podría fácilmente declarar un let i: i64 =
var antes del ciclo for, pero preferiría aprender la forma correcta de hacerlo, pero esto dio como resultado
error: expected one of `@` or `in`, found `:`
--> src/main.rs:2:10
|
2 | for i: i64 in 1..100 {
| ^ expected one of `@` or `in` here
Puede usar un sufijo de enteros en uno de los literales que ha utilizado en el rango. La inferencia tipo hará el resto:
for i in 1i64..101 {
println!("{}", i);
}