Junior — Senior
52
Влияние append и изменения элементов на исходный слайс
Условие задачи
Рассмотрим пример, показывающий, как изменение элементов слайса и применение функции append внутри передаваемой функции отражаются на самом слайсе. Определите, какой вывод будет получен на каждом этапе выполнения программы.
func main() {
mutate := func(a []int) {
a[0] = 0
a = append(a, 1) // ?
fmt.Println(a) // ?
}
a := []int{1, 2, 3, 4}
mutate(a)
fmt.Println(a) // ?
}