defer меняет локальную переменную после return

Что выведетMiddleбесплатно05-t004

Что выведет программа?

main.gogo
1package main2 3import "fmt"4 5func calc() int {6	val := 57	defer func() {8		val = val + 109	}()10 11	return val12}13 14func main() {15	fmt.Println(calc())16}
Чем закончится программа?
Сначала подумай без запуска — на собесе компилятора не будет.