Ответ 1
Выражение 3 / 10
является нетипизированным постоянным выражением. Спецификация говорит об постоянных выражениях
если операндами двоичной операции являются различные типы нетипизированных констант, операция и для небулевых операций результат использует вид, который появляется позже в этом списке: integer, rune, floating-point, complex.
Поскольку 3
и 10
- нетипизированные целочисленные константы, значение выражения является нетипизированным целым числом (0
в этом случае).
Один из операндов должен быть константой с плавающей запятой для результата в константу с плавающей запятой. Следующие выражения оценивают нетипизированную константу с плавающей запятой 0.3
:
3.0 / 10.0
3.0 / 10
3 / 10.0
Также можно использовать типизированные константы. Следующие выражения оцениваются константой float64
0.3
:
float64(3) / float64(10)
float64(3) / 10
3 / float64(10)
Печать любого из приведенных выше выражений напечатает 0.3
. Например, fmt.Println(3.0 / 10)
печатает 0.3
.