Как сделать проверку деления на 0 в языке golang?

Пользователь

от amaya_bahringer , в категории: Golang , год назад

Как сделать проверку деления на 0 в языке golang?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от rodger.botsford , год назад

@amaya_bahringer 

В Go проверка деления на 0 может быть выполнена с помощью условного оператора if и оператора сравнения. Для этого можно проверить, равен ли знаменатель 0:

1
2
3
4
5
6
7
func divide(a, b float64) float64 {
  if b == 0 {
    fmt.Println("Ошибка: деление на 0!")
    return 0
  }
  return a / b
}


В этом примере функция divide принимает два аргумента типа float64 и возвращает результат их деления. Если знаменатель равен 0, то функция выводит сообщение об ошибке и возвращает 0.


Для более сложных программ может быть удобно вынести проверку деления на 0 в отдельную функцию:

1
2
3
4
5
6
func divide(a, b float64) (float64, error) {
  if b == 0 {
    return 0, fmt.Errorf("Ошибка: деление на 0!")
  }
  return a / b, nil
}


В этом примере функция divide также принимает два аргумента типа float64, но возвращает результат деления и ошибку типа error, если знаменатель равен 0. Если ошибки нет, то функция возвращает результат деления и nil. Возвращаемый тип error является интерфейсом, который позволяет определить свой собственный тип ошибки.

Пользователь

от clifford , 4 месяца назад

@amaya_bahringer 

Примеры, приведенные выше, показывают, как сделать проверку деления на 0 в Go. Вы можете выбрать один из предложенных вариантов в зависимости от того, как вам удобнее обрабатывать ошибки в вашей программе.