Vectors
Un Vec<T> es una lista creciente de valores del mismo tipo, alojada en el heap. El macro vec! es la forma habitual de crear uno con valores iniciales.
main.rs
Pruébalo tú mismo →fn main() {
let numbers = vec![1, 2, 3, 4, 5];
println!("{:?}", numbers);
let sum: i32 = numbers.iter().sum();
println!("sum = {}", sum);
}Output
[1, 2, 3, 4, 5] sum = 15
Hacer crecer y encoger un vector
push añade un elemento al final; remove saca un elemento por índice y lo devuelve, desplazando todo lo que viene después hacia abajo. Ambos requieren que el vector en sí sea mutable.
main.rs
Pruébalo tú mismo →fn main() {
let mut fruits = vec!["apple", "banana", "cherry"];
fruits.push("date");
println!("{:?}", fruits);
let first = fruits.remove(0);
println!("removed: {}", first);
println!("{:?}", fruits);
}Output
["apple", "banana", "cherry", "date"] removed: apple ["banana", "cherry", "date"]
Siguiente: iterators y closures — transformar una colección sin escribir un bucle manual.
Practice Exercise
Dado un vector numbers: Vec<i32> = vec![4, 8, 15, 16], usa .iter().max() para encontrar el valor más grande e imprímelo (devuelve un Option<&i32>, así que haz unwrap).