Чтение за len после append в функции

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

Слайс с запасом capacity передают в функцию, которая делает append без возврата, затем читают элемент исходного слайса по индексу, который занял бы append. Отдельно map передают в функцию, пишущую по ключу. Что выведет программа?

main.gogo
1func push(xs []int) {2	xs = append(xs, 44)3}4 5func put(m map[int]int) {6	m[2] = 557}8 9func main() {10	xs := make([]int, 4, 9)11	m := make(map[int]int, 9)12 13	push(xs)14	println(xs[4])15 16	put(m)17	println(m[2])18}
Чем закончится программа?
Сначала подумай без запуска — на собесе компилятора не будет.