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

Баг: Несоответствие типов в сокращённых операторах

Попытка применить += к переменным разных типов:

var a int = 10
var b int8 = 5
a += b   // Ошибка: mismatched types int and int8

Почему?
Сокращённый оператор не меняет тип левого операнда. Компилятор требует, чтобы правый операнд был того же типа, что и левый.

Как исправить:
Явное приведение типа:

a += int(b)   // OK

Та же проблема с дробными типами:

var f float64 = 10.5
var i int = 3
f += i   // Ошибка
f += float64(i) // OK

Загрузка...