Что выведет код Middle Типы и нулевые значения обновлено
Что выведет Go: затенение переменной в if
Вопрос
Что выведет программа? Go 1.23, в go.mod указано go 1.23. Каждую строку вывода пишите с новой строки.
package main
import "fmt"
func main() {
x := 1
if x := 2; x > 1 {
x++
fmt.Println(x)
}
fmt.Println(x)
}
Попробуйте сами
Напишите, что выведет код: каждый вывод с новой строки.
Показать ответ и разбор
Коротко
Код выведет: 3, 1. if x := 2; ... объявляет новую переменную x, видимую только в if.
Что выведет
3
1
Разбор
if x := 2; ... объявляет новую переменную x, видимую только в if. Внутри она становится 3. Снаружи осталась исходная x = 1.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.
Термины по теме
Ещё по теме «Типы и нулевые значения»
- Перевод числа между системами счисления на Go
- Права доступа битовой маской на Go
- Наименьший целый тип для суммы на Go
- Что выведет Go: преобразования чисел
- byte и rune
- Какой тип не может быть ключом мапы
- Преобразования типов в Go
- Размеры KB и MB через iota