Слайс и map, изменённые в функциях

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

Слайс меняют по индексу, аппендят и снова меняют по индексу внутри функции, принимающей слайс по значению. Map меняют по ключу в другой функции. Что выведет программа?

main.gogo
1package main2 3import "fmt"4 5func mutateSlice(xs []int, v int) {6	xs[0] = v7	xs = append(xs, v)8	xs[1] = v + 59}10 11func mutateMap(m map[int]int, v int) {12	m[0] = v13	m[1] = v14}15 16func main() {17	xs := []int{0, 0}18	m := make(map[int]int, 2)19	mutateSlice(xs, 9)20	fmt.Println(xs)21	mutateMap(m, 9)22	fmt.Println(m)23}
Чем закончится программа?
Сначала подумай без запуска — на собесе компилятора не будет.