Vectors
Um Vec<T> é uma lista crescível de valores do mesmo tipo, alocada no heap. A macro vec! é a forma usual de criar um com valores iniciais.
main.rs
Teste você mesmo →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
Fazer um vector crescer e encolher
push adiciona um item ao final; remove tira um item pelo índice e o retorna, deslocando tudo depois dele para baixo. Ambos exigem que o vector em si seja mutável.
main.rs
Teste você mesmo →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"]
Próximo: iterators e closures — transformar uma coleção sem escrever um loop manual.
Practice Exercise
Dado um vector numbers: Vec<i32> = vec![4, 8, 15, 16], use .iter().max() para encontrar o maior valor e imprima-o (retorna um Option<&i32>, então faça unwrap).