1. Что выведет код с defer и изменением переменной?
func main() {
x := 1
defer fmt.Println("first defer", x)
x = 2
fmt.Println("value", x)
x = 3
defer fmt.Println("second defer", x)
x = 4
}Ответ
value 2, second defer 3, first defer 1.
2. Что выведет код с изменением слайса внутри функции?
func foo(a []int) {
a = append(a, 5)
for i := range a {
a[i] = 20
}
}
func main() {
a := []int{1, 2, 3, 4}
a = append(a, 10)
foo(a)
fmt.Println(a)
}Ответ
20 20 20 20 20.
3. Что выведет код с итерацией по map?
d :=…