К вопросам

Слайсы и массивы

Тест · Вопрос 2 из 4

Тест

Вопрос 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.