Общий массив у копий слайса

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

Слайс копируют в другую переменную, затем к обеим независимо применяют append и правят элемент 0. Что печатается на каждом шаге и чем закончится программа?

main.gogo
1package main2 3import "fmt"4 5func main() {6	var p []int7	p = append(p, 10)8	p = append(p, 20)9	p = append(p, 30)10	q := p11	p = append(p, 40)12	q = append(q, 50)13	p[0] = 014 15	fmt.Println("p: ", p)16	fmt.Println("q: ", q)17 18	q = append(q, 60)19	q[0] = 7020 21	fmt.Println("p: ", p)22	fmt.Println("q: ", q)23 24	fmt.Println(q[0], q[10])25}
Чем закончится программа?
Сначала подумай без запуска — на собесе компилятора не будет.