
Баг: Путаница между = и ==
Это самая частая ошибка во многих языках. Давай запомним:
=- положи в переменную (присваивание)==- проверь, равны ли (сравнение)
x = 5 // кладём пятёрку в x
x == 5 // спрашиваем: "x равен 5?" - получим true или falseСимвол | Название | Что делает |
|---|---|---|
| Присваивание | кладёт значение в переменную |
| Сравнение | проверяет равенство |
= - одно действие: положить== - как вопрос: "равно? равно?"
// Присваивание
age = 25
// Сравнение
age == 25 В Go есть защита от дурака:
В условии if можно писать только bool. Если ты случайно напишешь if x = 5, компилятор сразу скажет: "Эй, ты чё, тут не условие!"
var hasTicket bool = true
if hasTicket = false { // Ошибка компиляции!
// syntax error: cannot use assignment light = true as value
}Но лучше на компилятор не надеяться, а запомнить раз и навсегда:
Одна равно - кладём
Две равно - проверяем
Загрузка...