When accessing vector data with indices, the most common problem we can run into is exceeding the vector's bounds.
Remember, the items of a vector are indexed from 0 to size - 1. Any index which is not in this range is invalid.
When you try to access an item with an invalid index, Rust panics (the program stops with an error message):
let our_array = vec![50, 40, 30];
// Valid indices: 0, 1, 2
println!("{}", our_array[0]); // Output: 50
println!("{}", our_array[2]); // Output: 30
// Invalid indices: 3, 30
println!("{}", our_array[3]); // panics: index out of bounds
println!("{}", our_array[30]); // panics: index out of bounds
// Note: negative indices are a compile-time error in Rust
As programmers, we always want to make sure that we don't exceed one vector's bounds in our programs.
Assignment
Follow the Coding Tutorial and let's play with some arrays.
Hint
Look at the examples above if you get stuck.
Free plan: 30 tutor messages. PRO is unlimited.
