Тест
Вопрос 2
Что выведет программа?
Go
package main
import "fmt"
func main() {
x := []int{1, 2, 3, 4}
y := x[:2]
z := append(y, 9)
fmt.Println(x, z)
}
`y` смотрит в тот же массив, что и `x`. Пока `append` не выделяет новый массив, он записывает после текущей длины `y` в пределах общей `cap`, затирая бывший `x[2]` значением `9`; `z` получается длины 3 на том же backing array.