985 B
985 B
% Vectors
A vector is a dynamic or "growable" array, implemented as the standard
library type Vec<T>
(we'll talk about what the <T>
means
later). Vectors always allocate their data on the heap. Vectors are to slices
what String
is to &str
. You can create them with the vec!
macro:
let v = vec![1, 2, 3]; // v: Vec<i32>
(Notice that unlike the println!
macro we've used in the past, we use square
brackets []
with vec!
. Rust allows you to use either in either situation,
this is just convention.)
There's an alternate form of vec!
for repeating an initial value:
let v = vec![0; 10]; // ten zeroes
You can get the length of, iterate over, and subscript vectors just like arrays. In addition, (mutable) vectors can grow automatically:
let mut nums = vec![1, 2, 3]; // mut nums: Vec<i32>
nums.push(4);
println!("The length of nums is now {}", nums.len()); // Prints 4
Vectors have many more useful methods.