Почему int при делении int на int с остатком?

При делении двух целых чисел (int) с остатком в языке программирования Go, результатом будет также целое число. Это связано с тем, что оператор деления (/) для целых чисел выполняет операцию "целочисленное деление", то есть возвращает только целую часть частного и отбрасывает дробную часть.

Рассмотрим следующий пример:

a := 7
b := 3
c := a / b

В данном случае переменная c будет равна 2, так как результат деления 7 на 3 равен 2 целых и остаток 1. Но при использовании оператора деления (/) для целых чисел, дробная часть отбрасывается и возвращается только целое число.

Если вы хотите получить результат с остатком, необходимо использовать оператор получения остатка от деления (%). Продолжим пример:

a := 7
b := 3
c := a % b

Теперь переменная c будет равна 1, так как оператор % возвращает остаток от деления первого операнда на второй.

Важно отметить, что при делении целых чисел есть особенность, связанная с округлением. Если результат деления имеет дробную часть, она будет отброшена, а не округлена. Например:

a := 10
b := 3
c := a / b

В этом случае переменная c будет равна 3, а не 3.33333, так как оператор деления (/) для целых чисел не выполняет округление.

Выводя итог, при делении int на int с остатком в языке программирования Go, результатом будет целое число без дробной части, а чтобы получить остаток от деления, необходимо использовать оператор получения остатка от деления (%).