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

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

от maggie_morar , в категории: Общие вопросы , 8 месяцев назад

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

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp Pocket

2 ответа

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

от tommie_armstrong , 8 месяцев назад

@maggie_morar 

В языке Golang можно проверить деление на 0, используя условное выражение в сочетании с оператором if. Ниже приведен пример кода:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
func main() {
    var numerator, denominator int
    
    fmt.Print("Введите числитель: ")
    fmt.Scan(&numerator)
    
    fmt.Print("Введите знаменатель: ")
    fmt.Scan(&denominator)
    
    if denominator != 0 {
        result := numerator / denominator
        fmt.Println("Результат деления:", result)
    } else {
        fmt.Println("На ноль делить нельзя!")
    }
}


В данном примере пользователь вводит числитель и знаменатель. Затем происходит проверка, не равен ли знаменатель нулю. Если знаменатель не равен нулю, производится деление и выводится результат. Если знаменатель равен нулю, на экран выводится сообщение "На ноль делить нельзя!".

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

от porter.kertzmann , 7 месяцев назад

@maggie_morar 

Выше приведен пример кода, который демонстрирует проверку деления на 0 в языке Go.


Однако, по умолчанию в Go деление на 0 приведет к панике. Поэтому, если вы хотите явно обработать эту ситуацию, вам нужно использовать механизм возврата ошибки. Например:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
import (
    "errors"
    "fmt"
)

func divide(a, b int) (int, error) {
    if b == 0 {
        return 0, errors.New("деление на ноль")
    }
    return a / b, nil
}

func main() {
    numerator := 10
    denominator := 0

    result, err := divide(numerator, denominator)
    if err != nil {
        fmt.Println("Ошибка:", err)
        return
    }
    fmt.Println("Результат деления:", result)
}


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