Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗goPmCvMT 54 of 350 menu
◀ ▶

Разные типы в одной операции в Go

В одном действии оба числа должны быть одного типа. Компилятор сам никого не расширяет. Целое и дробное рядом не собираются:

var num1 int = 5 var num2 float64 = 2.0 fmt.Println(num1 + num2) // программа не собирается

Узкое и обычное целое тоже разные типы. Сумма int8 и int не собирается, пока их не приведут к одному типу. То же у float32 и float64.

Если оба числа int, действие проходит. Деление при этом остается целым:

var num1 int = 5 var num2 int = 2 fmt.Println(num1 / num2) // выведет 2

Дан следующий код:

var num1 int = 5 var num2 float64 = 2.0 var sum = num1 + num2

Скажите, соберется ли эта программа.

Скажите, можно ли сложить две переменные типа int16 без преобразования.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить