Что выведет код Junior Типы и нулевые значения обновлено
Что выведет Go: iota с выражением
Вопрос
Что выведет программа? Go 1.23, в go.mod указано go 1.23.
package main
import "fmt"
const (
A = iota * 10
B
_
D
E = "x"
F
G = iota
)
func main() {
fmt.Println(A, B, D, E, F, G)
}
Попробуйте сами
Напишите, что выведет код: каждый вывод с новой строки.
Показать ответ и разбор
Коротко
Код выведет: 0 10 30 x x 6. Строка без выражения повторяет предыдущее выражение с новым iota: B = 110, пропущенная = 20, D = 30.
Что выведет
0 10 30 x x 6
Разбор
Строка без выражения повторяет предыдущее выражение с новым iota: B = 1*10, пропущенная = 20, D = 30. E задаёт строку, F повторяет "x". iota продолжает расти на каждой строке, поэтому у G (седьмая строка) он равен 6.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.
Предыдущий вопрос
Что выведет Go: преобразования чисел
Следующий вопрос
Что выведет Go: затенение переменной в if