split_at — immutable split. split_at_mut — mutable split.
split_at:
split_at_mut:
1let v = vec![1, 2, 3, 4, 5];23// Immutable split4let (left, right) = v.split_at(3);5// left: [1,2,3], right: [4,5]67// Mutable split8let mut v = vec![1, 2, 3, 4, 5];9let (left, right) = v.split_at_mut(3);10left[0] = 10; // Modify left11right[0] = 20; // Modify right
Key: split_at for reading, split_at_mut for writing.