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

Баг: Константы и переменные ведут себя по-разному

Что делают:
Пишут var x int8 = 300 и удивляются ошибке компиляции. А потом пишут:

big := 300
var small int8 = int8(big) // работает, small == 44

и думают, что Go непоследователен.

Почему ошибка:
Константы проверяются на этапе компиляции на переполнение. Переменные - нет. Go доверяет тебе, что ты знаешь, что делаешь.

Как правильно:
Понимать разницу. Если нужно отловить переполнение для переменных - пиши явную проверку.

Загрузка...