Aliasing многоуровневый: срез от среза продолжает смотреть в тот же массив. Реализуйте cascade: от [1, 2, 3, 4, 5, 6] возьмите b := a[1:5], затем c := b[1:3], допишите 99 к c через append и верните a. (append пишет в следующую ячейку после видимого хвоста c — это a[4], а не a[3]).
- Задача
- Решение
- Обсуждение
Каскад срезов: три заголовка, один массив
GolangРешение
func cascade() []int {
a := []int{1, 2, 3, 4, 5, 6}
b := a[1:5]
c := b[1:3]
c = append(c, 99)
return a
}