Какой результат получим если разделить int на 0 и float на 0 ?

Спросят с вероятностью 8%



Разделение числа на 0 — это особый случай в программировании, и поведение зависит от типа чисел. Для целочисленных и чисел с плавающей запятой поведение при делении на 0 различается.



Деление целого числа на 0



Если попытаться разделить целое число (int, int32, int64 и т.д.) на 0, то Go вызовет паническое состояние (runtime panic). Это происходит потому, что целочисленное деление на 0 является неопределенной операцией.

package main



func main() {

var a int = 10

var b int = 0

result := a / b

fmt.Println(result)

}




Этот код приведет к панике с ошибкой вида:

panic: runtime error: integer divide by zero




Деление числа с плавающей запятой на 0



Если разделить число с плавающей запятой (float32, float64) на 0, то Go не вызовет паники. Вместо этого будут использованы специальные значения IEEE 754: положительная бесконечность, отрицательная бесконечность или NaN (Not a Number), в зависимости от знака числителя.

package main



import (

"fmt"

"math"

)



func main() {

var a float64 = 10.0

var b float64 = 0.0



// Деление положительного числа на 0

positiveInf := a / b

fmt.Println("Positive Infinity:", positiveInf) // Вывод: Positive Infinity: +Inf



// Деление отрицательного числа на 0

negativeInf := -a / b

fmt.Println("Negative Infinity:", negativeInf) // Вывод: Negative Infinity: -Inf



// Деление нуля на ноль

zeroDivZero := b / b

fmt.Println("Zero divided by Zero:", zeroDivZero) // Вывод: Zero divided by Zero: NaN



// Проверка значений

fmt.Println("Is Inf:", math.IsInf(positiveInf, 1)) // true

fmt.Println("Is Inf:", math.IsInf(negativeInf, -1)) // true

fmt.Println("Is NaN:", math.IsNaN(zeroDivZero)) // true

}




В этом примере:

Деление положительного числа на 0 дает положительную бесконечность (+Inf).

Деление отрицательного числа на 0 дает отрицательную бесконечность (-Inf).

Деление нуля на ноль дает NaN.



Деление целого числа на 0 в Go вызывает паническое состояние (runtime panic).

Деление числа с плавающей запятой на 0 в Go приводит к бесконечности (+Inf, -Inf) или NaN без вызова паники.



👉 Можно посмотреть Примеры как отвечают люди на этот вопрос, или перейти К списку 349 вопроса на Golang разработчика. Ставь 👍 если нравится контент



🔐 База собесов | 🔐 База тестовых