Arrays y Ciclo For en Rust

Clase 14 de 20Curso de Rust básico

Resumen

Conozcamos dos nuevos conceptos que cualquier lenguaje de programación también poseen, y que por supuesto Rust implementa a su manera.

Array de datos en Rust

En Rust, un array de datos es denominado Vector y puedes declarar uno y utilizarlo de la siguiente manera:

fn main() {
    let mut my_arr: Vec<String> = Vec::new();

    my_arr.push("¡Bienvenido".to_string());
    my_arr.push("a".to_string());
    my_arr.push("Platzi!".to_string());

    println!("{:?}", my_arr);
}

Utiliza la palabra reservada Vec para tipar tu array y declarar uno nuevo. Hazlo mutable con mut para poder hacer un .push() y guardar un nuevo elemento dentro.
Finalmente, puedes imprimir todos los valores del vector con "{:?}" en un println!() como con cualquier otra variable.

Ciclo For en Rust

Así como puedes usar un loop para repetir la ejecución de un mismo código fuente, y detenerlo con break, también puedes crear un típico FOR como en cualquier otro lenguaje de programación. La principal diferencia está en que un loop puede ser infinito, mientras que un for la cantidad de iteraciones es finito.
Presta atención a su sintaxis:

fn main() {
    for i in 0..10 {
        println!("Iteración número {}", i);
    }
}

Aquí declaramos un for de 10 iteraciones y mostramos por consola el número de iteración.

Array y ciclos For

Los arrays, o vectores, y los ciclos de iteración for están muy relacionados, ya que puedes recorrer un array fácilmente con un for.

fn main() {
    let mut my_arr: Vec<String> = Vec::new();

    my_arr.push("¡Bienvenido".to_string());
    my_arr.push("a".to_string());
    my_arr.push("Platzi!".to_string());

    for word in my_arr {
        println!("{}", word);
    }
}

Cada iteración del for, imprimirá cada valor del array.

También puedes acceder al valor individual de un array a través del índice del elemento:

fn main() {
    let mut my_arr: Vec<String> = Vec::new();

    my_arr.push("¡Bienvenido".to_string());
    my_arr.push("a".to_string());
    my_arr.push("Platzi!".to_string());

    println!("{}", my_arr[2]);      // Platzi!
}

Ten cuidado de no acceder a un índice no existente en el array. Para conocer la cantidad de elementos en el mismo, puedes hacer un len():

fn main() {
    let mut my_arr: Vec<String> = Vec::new();

    my_arr.push("¡Bienvenido".to_string());
    my_arr.push("a".to_string());
    my_arr.push("Platzi!".to_string());

    println!("{}", my_arr.len());       // 3
}

Ahora ya conoces lo básico para trabajar con arrays, ciclos for y relacionar ambos en Rust. Tu conocimiento en el lenguaje continúa ampliándose y tienes más herramientas para desarrollar tus aplicaciones.


Contribución creada por: Kevin Fiorentino.