rust/src/doc/trpl/vectors.md
Steve Klabnik d9515ad40f Link up some stuff in the vectors chapter
Fixes #24070

or rather, fixes it even though it's already been fixed: slices are before now. But the linking is nice anyway.
2015-04-16 23:17:36 -04:00

1.0 KiB

% Vectors

A vector is a dynamic or "growable" array, implemented as the standard library type Vec<T> (Where <T> is a Generic statement). 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.