Замыкание: append и правка результата

Что выведетMiddleбесплатно02-t011

Замыкание получает слайс, делает append и правит нулевой элемент результата. Его вызывают на двух слайсах — без запаса capacity и с запасом. Что выведет программа?

main.gogo
1func main() {2	growAndTweak := func(xs []int) {3		next := append(xs, 1)4		next[0] = -95	}6	first := []int{4, 5, 6}7	growAndTweak(first)8	second := make([]int, 0, 10)9	second = append(second, 4, 5, 6)10	growAndTweak(second)11	fmt.Println(first, second)12}
Чем закончится программа?
Сначала подумай без запуска — на собесе компилятора не будет.