This example initializes vectors, slices and arrays in a variety of ways. For slices, we have to create a vector or array and take a reference to part of it.
fn main() {
// Vector.
let animals = vec![
"bird",
"frog",
"dog"];
println!(
"{:?}", animals);
// Vector.
let animals = vec![
"bird".to_string(),
"frog".to_string()];
println!(
"{:?}", animals);
// Array.
let animals = [
"bird",
"frog",
"dog"];
println!(
"{:?}", animals);
// Slice of array.
let animals_slice = &animals[0..2];
println!(
"{:?}", animals_slice);
// Vector.
let mut animals = Vec::with_capacity(2);
animals.push(
"bird");
animals.push(
"frog");
animals.push(
"dog");
println!(
"{:?}", animals);
// Slice from vector.
let animals_slice = animals.as_slice();
println!(
"{:?}", animals_slice);
// Array.
let numbers = [0; 10];
println!(
"{:?}", numbers);
// Array.
let numbers: [u8; 5] = [1; 5];
println!(
"{:?}", numbers);
// Array.
let numbers = [1, 2, 3, 4, 5, 6, 7];
println!(
"{:?}", numbers);
// Slice.
let numbers_slice = &numbers[0..2];
println!(
"{:?}", numbers_slice);
// Slice.
let numbers_slice = &numbers[..2];
println!(
"{:?}", numbers_slice);
// Slice.
let numbers_slice = &numbers[4..];
println!(
"{:?}", numbers_slice);
// Slice.
if let Some(numbers_slice) = numbers.get(1..3) {
println!(
"{:?}", numbers_slice);
}
// Vector.
let mut numbers = vec![];
let numbers_slice = [10, 20, 30];
numbers.extend_from_slice(&numbers_slice);
println!(
"{:?}", numbers);
}
[
"bird",
"frog",
"dog"]
[
"bird",
"frog"]
[
"bird",
"frog",
"dog"]
[
"bird",
"frog"]
[
"bird",
"frog",
"dog"]
[
"bird",
"frog",
"dog"]
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
[1, 1, 1, 1, 1]
[1, 2, 3, 4, 5, 6, 7]
[1, 2]
[1, 2]
[5, 6, 7]
[2, 3]
[10, 20, 30]