A slice in Rust is a dynamically-sized view into a contiguous sequence of elements, represented as [T]. Slices are one of Rust's most useful and fundamental data types, providing a way to reference a section of an array, vector, or string without taking ownership.
Slices are:
References to data: They don't own the data they point to
Dynamically sized: Their size is only known at runtime
Contiguous: Elements are laid out sequentially in memory
Immutable by default: Unless explicitly created as mutable with `&mut`