Сайт работает в тестовом режиме - все замечания, предложения и информацию о найденных ошибках направляйте, пожалуйста, в Telegram-группу
Курс в процессе наполнения. Полный курс доступен на Степике

Баг: Путаница между = и ==

Это самая частая ошибка во многих языках. Давай запомним:

  • = - положи в переменную (присваивание)

  • == - проверь, равны ли (сравнение)

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
}

Но лучше на компилятор не надеяться, а запомнить раз и навсегда:

  • Одна равно - кладём

  • Две равно - проверяем

Загрузка...