🟡 Средний · 2 очк. Основы синтаксиса
Какой результат: x := 5; x, y := 10, 20; fmt.Println(x, y)?
A 5 20
B 10 20
C Ошибка компиляции
D 5 0
Объяснение вопроса

Результат: 10 20. Во второй строке x, y := 10, 20 переменная y - новая, поэтому := допустим. При этом x не объявляется заново, а только переприсваивается (ей уже было 5, станет 10).

Правило Go

В short variable declaration := хотя бы одна переменная слева должна быть новой для этой области видимости. Остальные могут быть уже объявлены - тогда им просто присваиваются новые значения.

x := 5
x, y := 10, 20  // x переприсваивается, y объявляется
fmt.Println(x, y)  // 10 20
🧠Квиз 🏆Лидеры 🎯Собесед. 📖Вопросы 📚База зн.